アクサンの場合

Python3初心者が段々上達するログ

matplotlibで目盛りと目盛線を消す方法

目盛りを消す -> 表示させない 位置指定ができる (略) plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False) 目盛線を消す (略) plt.tick_params(color='white') これは白にしたら見えないだろ,という戦法.本筋で…

Kerasでモデルのロードがしくってしまったら

エラー文 ValueError: Optimizer weight shape (1024,) not compatible with provided weight shape (165, 1024) (1024とかは埋め込み適当な数字なのであしからず.) モデルを読み込むときにエラーが出てしまう.... model.load()でエラーが出る.... …

mongodb で空のドキュメントを含むレコードを見つけるクエリ

MongoDB v3.4.5であるキーの中身が空のリストになっているレコードを見つけたい { _id: xxxxxxx, Nakami: [1,2,3], } { _id: xxxxxx1, Nakami: [] } こういった具合。ちなみにNakamiにはindexをふっていない前提。 さていくつか方法があるのでみていきたい。…

サーバーのディレクトリをマウントする

鯖のとあるディレクトリをマウントしたい(しかも手軽に) NASとかそういうの別にいいので,さっさと読み出し権限だけでいいから欲しい. という場合. 主に以下にあるわけですが,簡単に書くと, 別サーバのフォルダをマウントする|名古屋で働くエンジニア…

サーバーのディレクトリをマウントする

鯖のとあるディレクトリをマウントしたい(しかも手軽に) NASとかそういうの別にいいので,さっさと読み出し権限だけでいいから欲しい. という場合. 主に以下にあるわけですが,簡単に書くと, 別サーバのフォルダをマウントする|名古屋で働くエンジニア…

Python3 リストの中の要素を要素ごとにカウントする

問題 離散データが含まれているリストが与えられたとき, 最頻値を出してよ, とかヒストグラムもいいけど各年齢でどれくらいいるのか教えてよとか言われたりする. そのとき, カウンティング関数を実装する?しない?面倒だな, 何か使えないか. 解答 Python…

sklearn 0.18.1 でのKL-Divergence of two GMMs

KLダイバージェンスを2つのGMMで求めたいとき 過去に, python - KL-Divergence of two GMMs - Stack Overflow があった. そこから引用すると, def gmm_kl(gmm_p, gmm_q, n_samples=10**5): X = gmm_p.sample(n_samples) log_p_X, _ = gmm_p.score_samples…

Python3で素因数分解する

素因数分解をライブラリで行う from sympy.ntheory import factorint これが正体. 詳細は, Number Theory — SymPy 1.0 documentation . 動作例 In [1]: from sympy.ntheory import factorint In [2]: factorint(100) Out[2]: {2: 2, 5: 2} はい簡単. 実…

Kerasで学習したモデルを保存する OR モデルを再利用する

Keras @TF backendで構築したモデルを再利用したい ドキュメントにすべて書いてありますので堅い字面でも読める人は以下参照のこと. FAQ - Keras Documentation モデルの保存 (略) model.fit((略)) model.save('AAAA.h5') これでモデルがAAAA.h5という名前…

入れ子になったリストを作る方法

目的 入れ子になったリストを作る group = [[], [], [], ...., []] このようなリストで, 且つ任意の数だけ入れ子にさせる 方法 group = [[] for i in range(n)] >> [[], [], [],..., []] 補足 入れ子はnestedとかネストした, とか呼ばれる. むしろ, 「入れ…

ファイルのサイズを確認後, 空を削除する

流れ API等でファイルを取得 ファイルサイズを取得 空なら削除 ファイルサイズを取得 os.path.getsize(path) pathでファイル名も含めたPATHを与える ファイルを削除する os.remove(path) ファイル名を含めたPATHを与える

sklearn.manifold.tsneのメモリリークを回避するために(Anacondaのみ)

現象 大規模データでscikit-learnのmanifold.tsneを使うとメモリエラーを起こします。Pythonでメモリエラーか。 原因 mklのバグ、、、らしい。以前にscikit-learnにイシューが立っていたようだ。バージョンが上がった現在でも改善はされていない。このイシュ…

pandasで要素内に特定の文字列が含まれる行を抜き出したい

列Aに"美"が含まれる行を抜き出す index A ... 0 太郎 ... 1 真由美 ... 2 和則 ... 3 和美 ... 4 哲也 ... 5 司 ... というDataFrame(df)があったとする。 このとき、"美"という文字列を含む行だけ欲しいという場合にどうするか。 str.containsを使う df[df…

pandasで条件にあった値を持つ行を削除する場合

列Aにあるnという値を持つ行を削除したい df A B C 0 k n n 1 n n n 2 n k k ... ... ... ... 1000 n m m ... ... ... ... この1行目2行目に該当する行を削除したい時にどうするか。 もちろんこの簡単な例ではdf.drop([1,2,1000])でいける? まさかそんな話…

.vimrcをGitで管理するのはいいけれども

.vimrcをGitで管理したいのだけれど /home/xxx/以下にそのままGitを置くわけじゃあるまいし, どうやるんだろうと思っていたら見つけた. シンボリックリンクを貼ればいけるわけね〜 mkdir ~/dotfiles mv ~/.vimrc ~/dotfiles/_vimrc ln -s ~/dotfiles/_vimrc …

matplotlib savefigをサーバーで行う場合

そのままサーバーでも画像出力させようとすると Traceback ... ... RuntimeError: Invalid DISPLAY variable うまくいかない 解決策 import matplotlib as mpl mpl.use('Agg') これを追加する。見つかるドキュメントにはそれしか書いておらず「追加したのに…

matplotlibでOverflowError: In draw_path: Exceeded cell block limitというエラーが出る

引っかかったところ matploblibで比較的大きなデータをプロットしようとしたとき, plt.savefigをしようとして OverflowError: In draw_path: Exceeded cell block limit というエラーが出た. 解決策 結構簡単で, import matplotlib as mpl mpl.rcParams['agg…

経験的モード分解(Empirical Mode Decomposition)とは

経験的モード分解とは Huangらによって提案された時系列信号を非定常・非線形な時間-周波数な空間に変換する手法のことで, 大まかな理解として, もともとの信号 を固有モード関数IMF(Intrinsic Mode Function)と残滓に分解するということを頭に入れておけば…

numpy savetxtで複素数も扱うとき

savetxtを複素数でも扱う 普通savetxtは実数だけで扱っているので複素数のことなど気にも留めない。 そのまま複素数もいけるのかと思いきや、そうは問屋は卸さない。 問題 複素数を含む数をarrayに入れたまま保存すると、(1.00000000e + 1,0000000ej)なんて…

MATLAB melbankmとは

melbankm voiceboxに入っているフィルターかませる関数。これを元信号に乗算すればフィルターをかけたことになる。 詳細は以下のURL Description of melbankm 使い方 melbankm(p,n,fs,fl,fh,w)をとり、 p : フィルターの数 n : FFTの一つの窓に含まれるデー…

TeXworksのplatex有効化にいろいろ頑張っているようだけど・・・

TeXworksを日本語で使うにあたって blog.livedoor.jp のような所謂、platexのタイプセットを追加して・・・とある。もちろんUbuntuでの話。 だけどさ 例えばコマンド設定のところでlatex -interaction=nonstopmode %.tex ってある。これをさplatex -interact…

Pythonで並列処理入門

入門編でやれること リストを順に処理するときに並列で処理したい! data_list = ["a", "b", "c", "d"] for i in data_list: #Do something こういうのをコア数に応じて並列で処理してさくっと終えたい。ときに使える。 どうやるか from multiprocessing imp…

pandasで条件にあった行を抽出してさらに列を指定する

やりたいこと ある巨大行列のなかで、特定の列の値がXである行を抽出する。そしてさらに利用する列を指定する。 コード import pandas as pd df = pd.read_csv("test.csv", header=None) df[df[2] == X].ix[:,5:90] df[2] == Xが第2列の値がXである行を抽出…

情報系のためのエンベロープスペクトル

エンベロープスペクトル 情報系からしたらなんだそれ、の代物だが怖いことはない。 エンベロープ(エンベロップ)は包絡線であって、なんの包絡線かというとスペクトルの、だ。 求め方 ある波yがあって、それをフーリエ変換すると縦軸パワーの横軸周波数イン…

タプルの罠から抜け出すために

(123,) ←こういうやつ (123,)は、行列のようなもの。 numpy.loadtxt()とかするとこんな感じになってしまう。 すると計算できなくなったりして本当に困っていた。 行列計算ができなくなる。 dot(a, b)とかができなくなってしまう。 できれば見たくない。。。…

Pythonでn 進数を10進数に変換する

n進数を10進数に変換する 面倒な手続きが必要かと思ったけれど、なんといとも簡単にできてしまう。 int([x[, radix]]) radixのところに基数を指定すると十進数で返ってくる。ただし、radixとxが変換不能な組み合わせの場合は ValueErrorが出るので注意。

Check iO Days Between

タプルで与えられた日付の差分を取る from datetime import datetime <200b> def days_diff(date1, date2): return abs((datetime(*date1)-datetime(*date2)).days) これがプロの解答なんだが、うまい。 僕は、(date1[0],date1[1],date1[2])なんてやってしま…

二項分布のシミュレータを作った (Python3)

内容 1列6席の座席に等確率で着席する様子をシミュレーションする まず座席に座る様子を n席に着席する様子をM回実行するというもの。 numpyのrandom.randint(2, size=n) というのは、0と1のintの乱数をsize=nでリストを生成するという関数。 とっても便利だ…

0で埋めて桁数を揃える(例えば 001, 002...)

目的 ファイル名などで001, 002, 003,....となっていることがあるので最大値の桁数に合わせて0でパティングしたい 手法 最大値を取得する 最大値の桁数を取得する 0で埋める max_int = [略] max_digit = len(str(max_int)) for i in range(max_int + 1): pri…

階層化されたフォルダ構造においてそれぞれのフォルダに含まれるファイルを取得する

目的 root - A - 1.jpg, 2.jpg...... |-----B - 10.jpg, 11.jpg.... |-----C - 20.jpg, 21.jpg.... のところからJPGファイルを再帰的にリストアップさせる 手法 os.walk() を使うと良い os.walk() はルートディレクトリをインプットしディレクトリとファイル…