これまで
よく使えるやつ
df.index #indexの表示
index = df.index.tolist() #indexの中身をリストにする
type(index)
>>> List
df.columns #カラムの表示
columns = df.columns.tolist() #カラムの中身をリストにする
type(columns)
>>> List
index,columns名の変更
df.rename(index={"index名":"変更したいindex名"},columns={"columns名":"変更したいcolumns名"})
df = pd.DataFrame({"A":[1,2,3,4,5],"B":[10,9,8,7,6]})
df = df.rename(index={0:"zero"})
print(df.index.tolist())
>>> ["zero",1,2,3,4]
df = df.reaname(columns={"A":"A_rename"})
print(df.columns.tolist())
>>> ["A_rename","B"]
データの並び替え
df.sort_values(by="並び変えたいcolumns",ascending=True,inplace=False)
- by:columns名
- ascending:降順か昇順か(Trueで昇順)
- inplace:元のdfを置き換えるか(戻り値はnull)
df_sorted = df.sort_values(by="B")
df_sorted["B"].tolist()
>>> [6,7,8,9,10]
df_sorted_ascending = df.sort_values(by="A_rename",ascending=False)
df_sorted_ascending["A_rename"].tolist()
>>>[5,4,3,2,1]
df_sorted_2 = df.sort_values(by=["A_rename","B",ascending=[False,True]]
dfの演算
numpy配列みたいにそれぞれに演算を適用できる
df["A*B"] = df["A_rename"] * df["B"]
df["A*B"].tolist()
>>> [6,14,24,36,50]
関数を用いた列の演算
df.apply(関数)
import math
df["A_SQRT"] = df["A_rename"].apply(lambda x: math.sqrt(x))
列の削除
df.drop(列名,axis=1)
df.drop([列名1,列名2],axis=1)
列の結合
pd.concat([df1,df2],ignore_index=False)
- ignore_index:indexを振りなおすかどうか
mergeによる結合
pd.merge(df1,df2,how="結合方法",on="結合キー")
- df1:左側のdf
- df2:右側のdf
- how:結合方法
- inner:内部結合
- left:左外部結合
- right:右外部結合
- outer:完全外部結合
- on:結合キー
おわり
mergeよくわからん