はじめに
Pandasの操作をすぐ忘れてしまうのでメモを残します。自分が操作しようと思って調べたやつをどんどん追記するスタイルなので、記載内容には偏りがありますがご了承ください。
下記のようにimportされている前提です。
import pandas as pd
表示系
Jupyter notebookで列が省略されるのを回避する
max_columnsの値を大きめに設定する
pd.set_option('display.max_columns', 100)
ファイル操作関連
csvのインポート
data = pd.read_csv('filename.csv', parse_dates=['timestamp'])
parse_datesでdatetime型として読み込める
csvへエクスポート
data = pd.to_csv('filename.csv', index=False, sep='\t')
# index: 表示の有無
# sep: セパレータの指定
値の操作
同じ値が続く間は同じ連番とする操作
df = pd.DataFrame(['a', 'a', 'b', 'b', 'c','c','c', 'd', 'e'])
df['idx'],_ = pd.factorize(df[0])
print(df)
0 idx
0 a 0
1 a 0
2 b 1
3 b 1
4 c 2
5 c 2
6 c 2
7 d 3
8 e 4
マルチインデックスのデータアクセス
diff_df.loc['A', 'B'] # A=level1 B=level2
テーブル同士のジョイン
on引数でキーを指定する。howでジョインの方法を選択する。
pd.merge(a, b, on=['first_key', 'second_key'], how='left')