グループ化
groupby:グループ化
1 2 |
df.groupby('カラム名') # df.groupby('...').mean() |
groupbyを使っただけでは実行しても何も表示されない。
ただし、コメント部分のように平均値などを取って実行すると結果が表示される。
表の結合
pd.concat([df1,df2])
1 2 |
pd.concat([df1,df2]) pd.concat([df1,df2], axis = 1) |
df1の下にdf2が結合される。
df1にないカラムはdf2ではNaNと表示される。逆も同様。
2行目ではdf1の横にdf2が結合される。
.merge():同じカラムをKeyに結合する
1 |
df1.maerage(df2) |
df1とdf2に同じカラムをキーにして結合する。
pd.concat()では同じカラムがあってもそのまま結合するため、重複するカラムが発生する。
.mearge()では同じカラムがあれば重複なしで結合される。
df1.merge(df2, how=’…’):
1 2 3 4 5 |
df1.merge(df2, how = 'inner') df1.merge(df2, how = 'inner') df1.merge(df2, how = 'left') df1.merge(df2, how = 'right') df1.merge(df2, left_on ='カラム名', right_on = 'カラム名') |
innerは同じキーがある場合のみ結合し、それ以外は捨てる。
outerは同じキーの有無にかかわらず結合する。結合できなかった部分はNaNになる。
left,rightはdf1の左、右のどちら側に結合するかを指定する。
left_on、right_onを使用すると、df1とdf2で共有するキーを指定することができる。
.join():複数の表をまとめて結合
1 |
df1.join([df2, df3]) |
df1に対して、df2,df3のデータフレームを一度の操作で結合することができる。
ユニークな(重複のない)値を表示・取得
.unique():ユニークな値のみ表示
1 |
df['カラム名'].unique(): |
Seriesに対してのみ使用できる。
.nunique():ユニークな値の数を表示
1 |
df['カラム名'].unique(): |
Seriesに対してのみ使用できる。
それぞれの値にいくつレコードがあるかを取得
df.value_counts()
1 |
df['カラム名'].value_counts(): |
DataFrame、Seriesの両方に対して実行できる。
ソート
df.sort_values(‘カラム名’)
1 2 |
df.sort_values('カラム名') df.sort_values('カラム名', ascending = False) |
指定したカラム名でソートすることができる。引数の指定をしない場合、昇順(小さい値から)でソートされる。
2行目で、ascending=Falseとすることで降順(大きい値から)に変更することができる。
Seriesの各要素に関数を実行する
df.apply()
1 |
df['カラム名'].apply('関数名') |
関数を作成した上で、カラム名を指定し、.apply(‘関数名’)と入力して実行することで、
指定したカラムの各要素に対して関数を実行し、その結果をSeriesで返すことができる。
df.iterrows()
1 |
df['カラム名'].apply('関数名') |
DataFrameをCSVとして保存
df.to_csv(‘path\filename.csv’)
1 |
df.to_csv('ファイルパス\ファイル名.csv', index=False) |
Index=Falseにすることでインデックス(行番号)を除外して保存することができる。
コメント