Python関連のことを調べてみた2020年04月28日

Python関連のことを調べてみた2020年04月28日

PyPy 7.3.1 でリスト内包表記が遅くなくなった件について

# PyPy 7.3.1 でリスト内包表記が遅くなくなった件について

タイトルでもう言いたいことは概ね終わっているのですが…….

[Python 競技プログラミング高速化tips (PythonでAtcoderをやる際に個人的に気を付けてること)](https://juppy.hatenablog.com/entry/2019/06/14/Python_%E7%AB%B6%E6%8A%80%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E9%AB%98%E9%80%9F%E5%8C%96tips_%28Python%E3%81%A7Atcoder%E3%82%92%E3%82%84%E3%82%8B%E9%9A%9B%E3%81%AB%E5%80%8B#Pypy%E3%81%98%E3%82%83%E3%81%A0%E3%82%81%E3%81%AA%E3%82%82%E3%81%AE) で言及されているように、PyPy のリスト内包表記は遅いという事実がありました.

ところで [https://m

元記事を表示

pandas のdataframe で列名・値を置換

## 内容
pandasで作ったデータフレームの列名・レコードの値を置換する操作です。
列名は、renameメソッドを使います。
レコードの値は、replaceメソッドを使います。

## 事前準備
環境はjupyter notebookを使用しました。
まずは、データフレームを作ります。

“`python:
import pandas as pd

df = pd.DataFrame({“フルーツ”:(“みかん”, “りんご”,”ぶどう”),”産地”:(“愛媛”,”青森”,”山梨”)})

df.head()
“`

|| フルーツ | 産地 |
|:———–|————:|:————:|
| 0 | みかん | 愛媛 |
| 1 | りんご | 青森 |
| 2 | ぶどう | 山梨 |

## 列名の変更
renameメソッドの引数にcolumnsを渡します。
inplace=Trueにすることで同じデータフレームが保持されます。

“`pyt

元記事を表示

データロギング用に経過時間を出力(自分用)

# タイマー

自分用のメモです。

温度などのデータのロギング用のストップウオッチ的なものです。
通常は時刻を記録するのですが、今回は経過時間を記録するために作成したテストプログラムです。

“`py:python
import datetime
import time

def main():
s_time = datetime.datetime.now()
while True:
time.sleep(2)
now_time = datetime.datetime.now()
time_delta = now_time – s_time
print(time_delta)

if __name__ == ‘__main__’:
main()
“`

実行結果は、以下のとおりです。

“`sh:sh
pi@raspberrypi:~/Works/temp_logger/test $ python stopwatch.py
0:00:02.002138
0:00:04.004865
0:

元記事を表示

Ruby → Python チートシート(文字列Stringクラス編)

####凡例
>メソッド名(兼ドキュメントへのリンク)
>【Ruby】例
>【Python】対応する例(シンタックスや結果の違いがわかるようなもの)
> 対応ドキュメントのURL

* ここでは変数 `r = “ルビー”` `p = “パイソン”` としています。
* -∗- encoding: UTF-8 -∗- です。

#INDEX

####[%](https://docs.ruby-lang.org/ja/latest/class/String.html#I_–25)
【Ruby】`”%s vs %s”%[r, p] # => “ルビー vs パイソン”`(※ 引数は配列)
【Python】`”%s vs %s”%(r, p) # => “ルビー vs パイソン”`(※ 引数はタプル)
https://docs.python.org/ja/3/library/stdtypes.html#printf-style-string-formatting

####[<<](https://docs.ruby-lang.org/ja/late

元記事を表示

Jetson NanoにDeepStream SDK Python Bindingを入れて物体検出をしてみる

# 概要
[![DeepStream](http://img.youtube.com/vi/Y43W04sMK7I/0.jpg)](http://www.youtube.com/watch?v=Y43W04sMK7I)

DeepStream SDKを使うことでJetson Nanoでも高速な推論が可能となった(YOLOv3-TInyだと25FPS程度出る模様)。
今回はDeepStream SDKを使ってPython上から推論結果を取得するプログラムを作ってみる。
ちなみにDeepStream SDKについては[マクニカに詳しい記事](https://www.macnica.co.jp/business/semiconductor/articles/nvidia/134117/)が載っているので参考にすると良い

# 環境
端末:Jetson Nano
イメージ: JetPack 4.2.2.
DeepStream SDL:v4.0.2
Python Binding:v0.5α
※ちなみにJetcardだとDeepstream SDKのインストールでこけたのでJetPack推奨

元記事を表示

■Kaggle Practice for Beginners – Introduction of Python – by Google Colaboratory

# Introduction of Python:

Python is quite a good language for fast prototyping. It has a huge amount of high quality and open source libraries. And I want to reuse several of them.

### Numpy
Numpy is a linear algebra library to work with dimensional arrays, which contains useful linear algebra routines and random number capabilities.

### Pandas
Pandas is a library providing fast, flexible, and expressive way to work with a relational or table of data, both easily and intuitive. It allows you

元記事を表示

■Kaggle Practice for Beginners -House SalePrice (PyCaretを使ってみた)- by Google Colaboratory

# 0. Introduction
I’d like to show how to use PyCaret thru House Sale Price Competition to introduce how easy to use this library.
This introduction is only to show very basic flow, so if you want to improve your score on Kaggle, you need to add some procedures, such as preprocessing steps and modeling techniques.

# 1. Setting for Google Colaboratory

Setup thru Google Colaboratory environment using these command below to activate connection with Kaggle.

“`python
from google.colab import fi

元記事を表示

sklearnのget_scorerについてメモ

scikit-learnのversionは0.21.3。
accuracy_scoreを直接使う時とget_scorer(‘accuracy’)では引数が異なる。
https://github.com/scikit-learn/scikit-learn/blob/95d4f0841/sklearn/metrics/_scorer.py#L393-L398

“`
$ python
Python 3.6.10 |Anaconda, Inc.| (default, Mar 25 2020, 23:51:54)
[GCC 7.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from sklearn.metrics import get_scorer, accuracy_score
>>> from sklearn.linear_model import LogisticRegression
>>> accuracy_score([1, 2, 3], [4, 5

元記事を表示

PythonでWindows 10の音声合成を使用する

以下の記事で作成した VBScript のコードを移植して、簡単に使えるようにコマンド化します。

* [VBSでOneCoreの音声を使用する](https://qiita.com/7shi/items/7781516d6746e29c03b4)

# 準備

Windows 10 でサポートされる音声の一覧です。

* [付録 A: Windows 10 のナレーターでサポートされている言語と音声 – Windows Help](https://support.microsoft.com/ja-jp/help/22805/windows-10-supported-narrator-languages-voices)

日本語以外の言語を使用する場合は追加します。

* [Windows 10で読み上げ言語を追加](https://7shi.hateblo.jp/entry/2020/02/22/185810)

COM を使用するため pip で pywin32 をインストールします。

“`text
py -m pip install pywin32
“`

# 移植

使用

元記事を表示

Windows10のAnacondaで仮想環境にインストールしたパッケージがimportできない

# はじめに
Windows10のAnacondaで仮想環境を作成し、仮想環境にパッケージをインストールしたがimportできなかった。私の場合は環境変数の設定に問題がありました。

## 事象再現手順
仮想環境作成からパッケージのインストール、importの確認までの流れ。

“`bash
> conda create -n py37 python==3.7
> activate py37
(py37) > conda install xxxx
> python
Python 3.7.7 (default, Apr 15 2020, 05:09:04) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import xxxx
Traceback (most recent call last):
File ““, line 1, in
Mod

元記事を表示

札幌医科大学の受験者平均点を見積もる

# 札幌医科大学入試結果分析

この記事では札幌医科大学ホームページで公表されている受験者のデータをもとに、受験者全体の平均点、標準偏差を大雑把に見積もっていきたいと思います。

## 1.得点分布の仮定

[大学から公表されているデータ](https://web.sapmed.ac.jp/jp/public/exam/l0re8300000000a5-att/R2-H31shushikekka20200413.pdf)では合格者の平均点、最高点、最低点、受験者数のみしか把握できないので、とりあえず受験者の得点が正規分布に従うものと仮定して、与えられたデータを用いて正規分布のパラメータ $\mu, \sigma$ を予想してみました。

## 2.データ収集

まず、予想に用いたデータを表にまとめました。
ここで最下位の順位が毎年75となっているのは、札幌医科大学の一般入試における定員が75人であり、追加合格者が発生した場合も75番目の合格者の得点を最低点として公表するためです。

入試結果まとめ.pngPythonにおいて、関数の最後の()はどのような意味でしょうか?

(ほぼ未経験での質問なので、質問の仕方にも不備があるかもしれません…ご了承ください)

〇質問内容
Pythonにおいて、例えば、
rgs=linear_model.LinearRegression()
はrgsというオブジェクトを宣言しているという理解です。
最後の()はどのような意味なのでしょうか?

〇背景

from sklearn import linear_model
rgs=linear_model.LinearRegression
rgs.fit(train_X, train_Y)
print(rgs.coef_)
print(rgs.intercept_)

というコードを書いて、以下のエラーが発生しました。

—————————————————————————
TypeError Traceback (most recent call last)

元記事を表示

他人になりすまし!?Avatarifyでオンライン会議でーる

# はじめに
オンライン会議などで、他人になりすませるAvatarifyをやってみました。

# システム環境
– Windows10(RTX2080 Max-Q、i7-8750H、RAM16GB)
– Anaconda 2020.02
– Python 3.7
– CUDA 10.0

# 導入

[avatarify](https://github.com/alievk/avatarify)をクローンします。

avatarify用の環境を作ります。

~~~
$ cd avatarify-master
$ conda create -n avatarify python=3.7
$ conda activate avatarify
~~~

ライブラリをインストールします。

~~~
$ pip install torch==1.2.0 torchvision==0.4.0 -f https://download.pytorch.org/whl/torch_stable.html
$ pip install -r requirements.txt
~~~

[CUDA 10.0]

元記事を表示

ALAE : Adversarial Latent Autoencoders で顔画像生成(Windows10、Python3.7)

# はじめに
一枚の自撮り画像を用いて、性別や年齢、笑顔、髪の毛、口や鼻、メガネなどのパラメータを変化させて、顔画像を生成するALAEをやってみました。

# システム環境
– Windows10(RTX2080 Max-Q、i7-8750H、RAM16GB)
– Anaconda 2020.02
– Python 3.7

# 導入
[ALAE](https://github.com/podgorskiy/ALAE)をクローンします。

ALAE用の環境を作成します。

~~~
$ cd ALAE-master
$ conda create -n ALAE python=3.7
$ conda activate ALAE
~~~

ライブラリをインストールします。

~~~
$ pip install torch==1.5.0 torchvision==0.6.0 -f https://download.pytorch.org/whl/torch_stable.html
$ pip install -r requirements.txt
~~~

下記を実行し、学習済みモデルをダウン

元記事を表示

Universal Sentence Encoderを使って文章の異常検知をする

## 概要
講談社MLPの「異常検知と変化検知」を読んで、何か具体的な問題で試してみたいと思ったので、「方向データの異常検知」を文章の埋め込みベクトルに適用して、文章群に混じった異質な文章を検知できるか試してみました。具体的には、夏目漱石の小説から取った文章群の中に企業の有価証券報告書から取った文章を少数だけ混ぜて、異質なデータである有価証券報告書の文章を検知する機械学習モデルを作成しました。埋め込みベクトル(分散表現)の計算には[Multilingual Universal Sentence Encoder](https://arxiv.org/abs/1907.04307)を用いています。

## 方向データの異常検知
「異常検知と変化検知」(著:井出剛、杉山将)のChapter 7「方向データの異常検知」から必要な事項をまとめます。

正解ラベルの付いていないデータ $\mathcal{D}$ を用いて異常検知モデルを作成するときの基本的な考え方は、データに含まれる異常標本の数が非常に少ないと仮定して、正常データの分布 $p(x|\mathcal{D})$ を推定し、分布から外れ

元記事を表示

バネ・マス・ダンパ系の伝達関数・状態空間モデルとPythonによるシミュレーション

# 概要

制御工学の勉強メモ。バネ・マス・ダンパ系の質点の運動方程式から、伝達関数/状態空間モデルを求めて、制御系のPythonライブラリ「[Python Control Systems Library](https://python-control.readthedocs.io/en/0.8.3/index.html)」を使ってシミュレーションをします。
![2020-04-27_23h38_44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152805/7c371903-d2a1-1d30-6bcc-cbe20ad20420.png)

# バネ・マス・ダンパ系における1自由度の質点の運動方程式

$$ m\ddot{y}(t) + c\dot{y}(t) + ky(t) = f(t)$$

$\ddot{y}(t)$ は加速度、$\dot{y}(t)$ は速度、$y(t)$ は変位。$m$ は質量、$c$ は減衰係数、$k$ はバネ定数である(いずれも物理定数なので非負の値)。

# 伝達関数

元記事を表示

香川のパブコメから日付取得してグラフを描いてみた

#前置き

こんにちは、私は最近コロナのおかげで学校も休みで、延々と暇な日々を送っており、そのため日々いろいろなテクノロジーで遊ぶことで暇を潰しています。
正直言って、すっごい楽しいです。
さて、そんな日々の中で今日も今日とてDiscord botを作ったり2048を実装したり難解言語で遊んだり形態素解析で遊んだりしていると、あるものを見つけました。
そう、現在[Googleドライブ](https://drive.google.com/drive/folders/1zeGA2tcJacWvbYNrFJkOG75AoMyVS3Kd)で[ねとらぼ編集部によって](https://nlab.itmedia.co.jp/nl/articles/2004/25/news026.html)絶賛公開中の**香川県ネット・ゲーム依存症対策条例**の**パブリックコメント**です。
これを見つけたとき、私は思ったわけです。

**これで遊ぶの楽しそうだな**って。

PDFな上にスキャナーで読んだ奴をデータ化してるからそのままではデータとして扱えず、そのためテキストデータに変換する必要があるわけですが、

元記事を表示

機械学習の基礎知識について数学できないけどまとめていく~?①

## はじめに
苦手意識がずっと抜けない機械学習を少しでもすきになるために学習再チャレンジ??
数学さっぱりわからないので(致命的)難しいとこすっ飛ばして基本言葉だけまとめてます!

学習に使用した技術書:[O’Reilly Pythonではじめる機械学習](https://www.oreilly.co.jp/books/9784873117980/)

## 目的
人工知能・機械学習についての**基礎知識**についてまとめて自分なりに理解する
※自分的にわかりやすいように解釈・記述しているので言葉まとまってないかもです?‍♀️

## 人工知能について
人工知能 = AI(Artificial Intelligence)

人工知能(AI)の本当の定義は人間が作った、人間のように考え行動(問題解決)ができる知能を持った機械のこと。ドラ◯もん?とか。

現代で人工知能と言われているもの(Peppar・Watson・ルンバ・Siriなど)は厳密に言うと上記の定義を満たしていない。
なぜかと言うと、現代の人工知能は一つの問題しか解決できないから。

## 機械学習について
現代で人工知能と

元記事を表示

機械学習概論その1

今回からは座学的な内容でお送りしていきます。

# 機械学習概論

## 人工知能と機械学習とは?

人工知能: 人工知能学会の松尾豊さんによると
      「人工的に作られた、人間のような知能または、ないしそれを作る技術」

      専門家によって細部は異なりますが、ほぼ同じ内容を定義しています。

機械学習: 特定のデータの解析→学習→判断→予測
      などをするアルゴリズムを使用する手法です、

下図に示しますが、人工知能の分類の一部で、さらに詳細にしたのが深層学習です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430767/86c55e2d-a827-8abb-9a03-ed2872d4d8f0.png)

     
### 人工知能の実用例
* 車の自動運転
* 部屋に入ると自動でつくライト

基本的に人間の命令を受けて、半自動で動くものです。

## 人工知能と深層学習

深層学習(ディープラーニング): 機械学習の技術の1種で、生物の脳を模した

元記事を表示

ABC163Cに学ぶ計算量改善の初歩の初歩

# はじめに

プログラミングにほぼ触れたことのない友人から「Python教えて!」と言われて勉強会を開いていたところ、[ABC163C – management](https://atcoder.jp/contests/abc163/tasks/abc163_c)を「良問だ!」と叫び倒しておられました。

実際、1つの問題の中で「コードを書けるようになる」というフェーズから「計算量を改善することができる」というフェーズへのシフトが興味深かったので、やりとりをかい摘んで記しそうと思います。

# この記事の対象者

for・if・リスト等の文法はある程度覚えて、ロジックには自信があるのになぜかTLEになってしまう人。

# 問題概要

社員番号$1, 2, \cdots, N$のそれぞれの直属の部下の数を出力せよ。$i$番目の社員の上司を$A_i$として、$A_2, \cdots, A_N$が与えられる。ただし、ある社員の社員番号よりも上司の社員番号は若い番号である。

# 計算量改善の軌跡

2回TLEになって、3回目でACだったという流れです。

## 1. まずは愚直に

###

元記事を表示

OTHERカテゴリの最新記事