Pandasでよく使うメソッドの備忘録
随時更新予定
公式doc:
https://pandas.pydata.org/pandas-docs/stable/reference/frame.html
#CSVの取り扱い
###CSVの読み込み
df = pd.read_csv('hoge.csv')
###CSVの書き込み
df.to_csv('hoge.csv')
indexが必要ない場合:
df.to_csv('hoge.csv', index=None)
#データの確認
#先頭5行の確認
df.head()
#常に全ての列(カラム)を表示するように設定を変更
pd.options.display.max_columns = None
#常に10列のみ表示するように設定を変更
options.display.max_columns = 10
#データの抽出
#'hoge_column_name'の列の要素の文字列の内、hogeが含まれている物を全て抽出する
df[df['hoge_column_name'].str.contains('hoge')]
#'hoge_column_name'の列の要素の内、リストhode_listの要素である物を全て抽出する
df[df['hoge_column_name'].isin(hoge_list)]
#データの結合
###concat
#df_1,df_2,df_3を縦方向に連結
df = pd.concat([df_1, df_2, df_3])
#2つのSeriesを横方向に連結させて、DataFrameにする場合もconcatを使う
df = pd.concat([s_1, s_2, s_3], axis=1)
###marge
#df_1とdf_2をカラム名'key'の要素が一致するようにmerge
#その際how='left'と指定することで、df_1を基準に結合を行う(デフォルトはhow='inner'で内部結合を行う)
df = pd.merge(df_1, df_2, on='key', how='left')
#keyを複数にして、merge
df = pd.merge(df_1, df_2, on=['key_1', 'key_2'], how='left')
#データの分析
#'hoge_column_name'の列の要素ごとにグループ分けをし、それぞれについて売り上げ(価格x数量の和)を計算する
df.groupby(['hoge_column_name']).apply(lambda d: (d.amount * d.price).sum())