pandas便利な使い方メモ(随時更新)

pandasの便利な使い方を毎度調べたり試行錯誤したりするのは効率が悪いのでここに雑に書き溜める。
もしおすすめの使い方やもっと効率のいい方法などあれば教えていただきたいです!

DataFrame内のあるカラムにある文字列が含まれている行だけ取り出す

要は'hoge' in textTrueになる行だけ選択してくる。

df[df['text'].apply(lambda x: 'hoge' in x)]

同じ要領で、キーが複数ある場合。('hoge', 'huga', 'hogu'で選択してきたい場合)

df[df['text'].apply(lambda x: any([key in x for key in ['hoge', 'huga', 'hogu']))]

あるカラムがnullだったら削除する

df = df.drop(df[df['nanika'].isnull()==True].index)

csv読み込み

df = pd.read_csv(path, names=('hoge', 'huga', 'hogu'), delimiter='nanika')

merge

new = pd.merge(df1, df2, left_on='hoge', right_on='hoge') # カラムの値が一致するものでマージする

shuffle

df = df.reindex(np.random.permutation(df.index))

histogramのxlimを設定する

h = data.hist(column='nanika')
h[0][0].set_xlim(-10, 10)

(おまけ)numpy編

条件に一致するものだけ置換する

値が5以上のものを0に置換する

x[ x >= 5 ] = 0