利用Python進行資料分析---資料規整化

來源:互聯網
上載者:User

標籤:RKE   1.0   字串   指定   and   並集   個數   資料   對象   

1、合并資料集

①、多對一合并

我們需要用到pandas中的merge函數,merge函數預設情況下合并的是兩個資料集的交集(inner串連),當然還有其他的參數:

how裡面有inner、outer、left、right,四個參數可以選擇,分別代表:交集,並集,參與合并的左側DataFrame,以及右側

當列名對象相同時:df1=pd.DataFrame({‘key‘:[‘a‘,‘c‘,‘a‘,‘b‘,‘a‘,‘c‘,‘b‘,‘c‘],‘data1‘:range(8)})df2=pd.DataFrame({‘key‘:[‘a‘,‘b‘,‘d‘],‘data2‘:range(3)})pd.merge(df1,df2,on=‘key‘)返回     key  data1  data20    a    0    01    a    2    02    a    4    03    b    3    14    b    6    1當列名對象不同時:df1=pd.DataFrame({‘lkey‘:[‘a‘,‘c‘,‘a‘,‘b‘,‘a‘,‘c‘,‘b‘,‘c‘],‘data1‘:range(8)})df2=pd.DataFrame({‘rkey‘:[‘a‘,‘b‘,‘d‘],‘data2‘:range(3)})pd.merge(df1,df2,left_on=‘lkey‘,right_on=‘rkey‘,how=‘outer’)返回為         lkey   data1 rkey    data20    a    0.0    a    0.01    a    2.0    a    0.02    a    4.0    a    0.03    c    1.0    NaN    NaN4    c    5.0    NaN    NaN5    c    7.0    NaN    NaN6    b    3.0    b    1.07    b    6.0    b    1.08    NaN    NaN    d    2.0

②、多對多合并

df1=pd.DataFrame({‘key‘:[‘b‘,‘c‘,‘b‘,‘a‘,‘b‘,‘a‘],‘data1‘:range(6)})df2=pd.DataFrame({‘key‘:[‘a‘,‘a‘,‘c‘,‘b‘,‘d‘],‘data2‘:range(5)})pd.merge(df1,df2,on=‘key‘,how=‘right‘)返回為      key  data1 data20    b    0.0    31    b    2.0    32    b    4.0    33    c    1.0    24    a    3.0    05    a    5.0    06    a    3.0    17    a    5.0    18    d    NaN    4

多對多合并產生的是行的笛卡爾積,即df1有2個a,df2有2個a,並集會產生4個a

當需要根據多個鍵進行合并時,只要傳入一個列名組成的列表就可以。

在合并運算時,需要對重複列名的處理,suffixes函數可以指定附加到左右兩個DataFrame對象的重複列名上的字串

2、索引上的合并

 

利用Python進行資料分析---資料規整化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.