[Python]pandas覚えたての人によるチートシート
Contents
はじめに
pandas、いいですね。
基本的な集計はこれですべて事足りるのではないかと思うほどです。
SpreadsheetやMySQLになまじ慣れてしまっており、本腰入れて勉強していなかった過去を反省しています。
とはいえ使い方は割と慣れが必要で、細かな作法を覚えていないと詰まってしまうので、個人的によく使うメソッドをメモっていきたいと思います。
随時更新していく予定です。
基本編
ファイル読み込み
csv読み込み
df = pd.read_csv('data.csv')
tsv読み込み(タブ区切り)
df = pd.read_csv('data.tsv', sep='\t')
tsv読み込み(ヘッダーなしの場合)
df = pd.read_csv('data.tsv', sep='\t', header=None)
tsv読み込み(ヘッダーなしのファイルを読み込み、カラムを指定する)
df = pd.read_csv('data.tsv', sep='\t', header=None, names=('col1', 'col2'))
ファイル書き出し
csv書き出し
df.to_csv('result.csv')
tsv書き出し(タブ区切り)
df.to_csv('result.csv', sep='\t')
tsv書き出し(インデックスなし)
df.to_csv('result.csv', sep='\t', index=False)
データ取得
条件付きで行取得
selected_rows = df.loc[df['col1']=='apple']
結合
df2 = pd.read_csv('table2.tsv', sep='\t')
LEFT JOIN
join = pd.merge(df, df2, left_on='Col1', right_on='code', how='left')
INNER JOIN
inner_join = pd.merge(df, df2, left_on='Col1', right_on='code', how='inner')
置換
NaNの値を確認
join.isna().sum()
NaNの値に任意の値を置換
※NaNの値を0で置換
fillna_join = join.fillna(0)
まとめ
pandasすごく便利な子です!
ディスカッション
コメント一覧
まだ、コメントがありません