01.29 PYTHON數據框操作


PYTHON數據框操作


PYTHON數據框操作

數據框是frame,首先reset_index(drop=True),會將index刪除,但frame本身默認不會變化,,reset_index參數inplace默認為False.當reset_index(drop=False)時index會被還原為1列。

PYTHON數據框操作

首先我們刪除了index列,加上axis=1,刪除全列,inplace=True,frame就地改變。

改變索引,還原為之前frame.index=['three','one'],frame索引變化。此時,frame.reset_index(drop=True,inplace=True)這一步先將index 刪除,就地改變,索引還原默認0,1.2………….N。

PYTHON數據框操作

更改局部index 和列名:object.rename(index/columns={' ': ' '})

frame.rename(columns={'d':'m'},inplace=True)


Pandas之set_index()

PYTHON數據框操作

將c,d列設置為index。


PYTHON數據框操作

frame.set_index(['c','d'],drop=False),drop設置為false,原來的列不被丟失。

利用reset_index()原來index被還原為列。


數據框的合併pd.merge()

PYTHON數據框操作

Pd.merge()合併是去相同的列,默認為how='inner',可以發現這列的c,d不見了。

PYTHON數據框操作

PYTHON數據框操作

pd.merge(df3,df4,left_on='lkey',right_on='rkey')在數據框合併是左邊使用列lkey,右邊使用列rkey,默認是inner,得到的結果rkey,lkey都在結果出現,兩個列是相等的。

How='left','right','inner','outer'等選擇。

PYTHON數據框操作

PYTHON數據框操作

PYTHON數據框操作

pd.merge(left1,right1,left_on='key',right_index=True)左側數據用列,右側數據用索引,how默認inner

PYTHON數據框操作

pd.merge(lefth,righth,left_on=['key1','key2'],right_index=True),左側數據用兩列進行合併。


Df.join(),數據框的合併

PYTHON數據框操作


np.concatenate(),

PYTHON數據框操作

np.concatenate([arr,arr],axis=0)用於數組的合併,axis=0行與行的對接,axis=1列與列的對接。默認axis=0


Pd.concat()

PYTHON數據框操作

pd.concat([obj1,obj2], axis=0/1),將合併對象放入[]中傳入對象參數,axis默認是0,行與行的對接,join默認outer,與pd.merge()不同,這裡參數是join


PYTHON數據框操作

Pd.merge(),key參數會根據axis=0/1,x新建index名或者column名,第一重索引,具體見【50】


Unstack()與stack()

Unstack()會將series還原為dataframe,stack()將dataframe變成series


PYTHON數據框操作

Series對象的unique,value_counts()


ddd

PYTHON數據框操作

數據框的unstack(),二重columns為列,也可指定是index name


Df.melt()

PYTHON數據框操作

df.melt('key')將key作為變量的其餘變量作為var的值,對應值為value的值

pivot()是其逆操作。

PYTHON數據框操作

Pd.melt()也可以將變量值先限制為某一些,【A,B,原變量】,同樣可以不指定id變量,直接傳入變量值【A,B,C】


分享到:


相關文章: