列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で管理したいのだけれど /home/xxx/以下にそのままGitを置くわけじゃあるまいし, どうやるんだろうと思っていたら見つけた. シンボリックリンクを貼ればいけるわけね〜 mkdir ~/dotfiles mv ~/.vimrc ~/dotfiles/_vimrc ln -s ~/dotfiles/_vimrc …
そのままサーバーでも画像出力させようとすると Traceback ... ... RuntimeError: Invalid DISPLAY variable うまくいかない 解決策 import matplotlib as mpl mpl.use('Agg') これを追加する。見つかるドキュメントにはそれしか書いておらず「追加したのに…
引っかかったところ matploblibで比較的大きなデータをプロットしようとしたとき, plt.savefigをしようとして OverflowError: In draw_path: Exceeded cell block limit というエラーが出た. 解決策 結構簡単で, import matplotlib as mpl mpl.rcParams['agg…
経験的モード分解とは Huangらによって提案された時系列信号を非定常・非線形な時間-周波数な空間に変換する手法のことで, 大まかな理解として, もともとの信号 を固有モード関数IMF(Intrinsic Mode Function)と残滓に分解するということを頭に入れておけば…
savetxtを複素数でも扱う 普通savetxtは実数だけで扱っているので複素数のことなど気にも留めない。 そのまま複素数もいけるのかと思いきや、そうは問屋は卸さない。 問題 複素数を含む数をarrayに入れたまま保存すると、(1.00000000e + 1,0000000ej)なんて…
melbankm voiceboxに入っているフィルターかませる関数。これを元信号に乗算すればフィルターをかけたことになる。 詳細は以下のURL Description of melbankm 使い方 melbankm(p,n,fs,fl,fh,w)をとり、 p : フィルターの数 n : FFTの一つの窓に含まれるデー…
TeXworksを日本語で使うにあたって blog.livedoor.jp のような所謂、platexのタイプセットを追加して・・・とある。もちろんUbuntuでの話。 だけどさ 例えばコマンド設定のところでlatex -interaction=nonstopmode %.tex ってある。これをさplatex -interact…
入門編でやれること リストを順に処理するときに並列で処理したい! data_list = ["a", "b", "c", "d"] for i in data_list: #Do something こういうのをコア数に応じて並列で処理してさくっと終えたい。ときに使える。 どうやるか from multiprocessing imp…
やりたいこと ある巨大行列のなかで、特定の列の値が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)とかができなくなってしまう。 できれば見たくない。。。…
n進数を10進数に変換する 面倒な手続きが必要かと思ったけれど、なんといとも簡単にできてしまう。 int([x[, radix]]) radixのところに基数を指定すると十進数で返ってくる。ただし、radixとxが変換不能な組み合わせの場合は ValueErrorが出るので注意。
タプルで与えられた日付の差分を取る from datetime import datetime <200b> def days_diff(date1, date2): return abs((datetime(*date1)-datetime(*date2)).days) これがプロの解答なんだが、うまい。 僕は、(date1[0],date1[1],date1[2])なんてやってしま…
内容 1列6席の座席に等確率で着席する様子をシミュレーションする まず座席に座る様子を n席に着席する様子をM回実行するというもの。 numpyのrandom.randint(2, size=n) というのは、0と1のintの乱数をsize=nでリストを生成するという関数。 とっても便利だ…
目的 ファイル名などで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() はルートディレクトリをインプットしディレクトリとファイル…
目的 たくさんのテキストファイルを幾つかの束にしてZipにする 入力:たくさんのテキストファイル 出力:指定の数だけ束になったZipファイル 方法 まず、ファイルのディレクトリ構造付きで列挙したテキストファイルを用意する。 そして、1行ずつ読み込んで…
目的 何月かのある曜日を得る 例えば、2016年5月の金曜日が何日なのか 方法 ある曜日の第1週が何日なのかわかれば7足していけばOK、なのはわかるけれど・・・ モジュールを使いたかったので、 import calendar cal = calendar for x in cal.monthcalendar(20…
目次 DELL PCを買ってデュアルブートした Ubuntuで音が出ない!? Ubuntuを再インストール Windows10を抹殺 Windows10ディスクイメージをDELLからDL このイメージをUSBに焼くが。。。 USBにマウントしてブート 流れ作業の末(戦後処理) そして、これから DE…
Sublimetext3のスニペットの作り方 既に解説されたサイトはたくさんあります(汗) webdesign-workbook.com nelog.jp sublimetextのスニペットのメモ · GitHub liginc.co.jp ここにある素晴らしい記事を読めばスニペットがいかに使えるかは、わかります。 ス…
github.com [Python] MySQLに接続してデータ操作を行う - YoheiM .NET 紹介マニアどらふと版: Python の MySQL ドライバはどれを利用すれば良いのか Bi:Bo: PythonでのDB処理(MySQL) 個人的には、返される# => {'name': 'Cookie', 'id': 3}の値を使うところ…
自分の解答 def checkio(words_set): counter=0 for i in sorted(words_set): for j in sorted(words_set): if i.endswith(j) and i!=j: counter+=1 else: pass if counter>=1: return True else: return False プロの解答 def checkio(words): """ You can …
any(iterable)は iterable のいずれかの要素が真ならば True を返します。iterable が空なら False を返します。 (http://docs.python.jp/3/library/functions.html?highlight=any#any) なるほど、orで繋ぐのが要らなくなるのか。
functools.reduce(function, iterable[, initializer]) これが優秀なのではないかと思う。 説明文を引用すると 2 引数の function を iterable の要素に対して左から右に累積的に適用し、イテラブルを単一の値に縮約します。左引数 x は累計の値で、右引数 y…
自分の解答 def find_message(text): st="" for w in text: if w.isupper()==True: st=st+w return st forとifが連結できるだろうなと思いながら失敗したので普通の解答。 プロの解答 def find_message(text): return ''.join(c for c in text if c.isupper(…
自分の解答 def count_words(text, words): count=0 for word in words: if (word in text.lower()) == True: count+=1 else: pass return count ちゃんとカウントという変数を用意している。Cでも読んでいる気分が否めない。。。 プロの解答 def count_word…
sum(lists) これだけだったw
普通のリスト a=[1,2,3] a.append(4) ==> a=[1,2,3,4] numpyのリスト import numpy a=numpy.array([1,2,3]) numpy.append(a,4) ==> a=[1,2,3,4] 結構間違える。。。
renameを使おうと、Web検索する。 rename .txt .csv *.txt でいけるよという記述。 しかし、 syntax error at (eval 1) line 1, near "." ドットが使えない(T_T) perlの構文が使えるとのことで、素直に利用 rename 's/txt/csv/' *.txt 無事にできました。 re…