【pandas】第六章 連接配接
Datawhale的pandas學習的開源位址:Joyful Pandas
https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch1.html
歡迎大家關注了解Datawhale :)
目錄
- 【pandas】第六章 連接配接
- 一、關系型連接配接
-
- 1. 連接配接的基本概念
- 2. 值連接配接
- 3. 索引連接配接
- 二、方向連接配接
-
- 1. concat
- 2. 序列與表的合并
- 三、類連接配接操作
-
- 1. 比較
- 2. 組合
一、關系型連接配接
1. 連接配接的基本概念
将兩張表以某列為鍵,進行合成,pandas中可用函數有merge和join,它們均以how參數表示連接配接要求。
how='left’表示完全儲存左表,比對鍵儲存右表
how='inner’表示隻保留兩表均有的鍵
注:兩邊同時出現的重複鍵以笛卡爾積形式加入

2. 值連接配接
這裡主要學習幾個重要參數
- left_on, right_on : 在兩個表不具備相同的列名下定義左右表連接配接後的列名
【pandas】第六章 連接配接【pandas】第六章 連接配接一、關系型連接配接二、方向連接配接三、類連接配接操作 - suffixes : 在兩個表中有重複的列名下定義左右表連接配接後列名
用法:
df1.merge(df2, on=‘Name’, how=‘left’)
- on : 指定多個列完成對重複值的正确連接配接
【pandas】第六章 連接配接【pandas】第六章 連接配接一、關系型連接配接二、方向連接配接三、類連接配接操作
3. 索引連接配接
用法:
df1.join(df2, how=‘left’)
與merge原理一緻,有on和how參數,可以對重複的列指定左右字尾 lsuffix 和 rsuffix
二、方向連接配接
1. concat
axis:預設0縱向拼接,1橫向拼接
join:預設outer保留所有的列,inner保留均出現的列
keys:合并後的表定義其組成表的行索引
用法:
pd.concat([df1, df2], axis=1, join=‘inner’,keys=[‘one’,‘two’])
2. 序列與表的合并
concat 可以實作多個表之間的方向拼接,而
append 和 assign 可以實作把一個序列追加到表的行末或者列末
在 append 中,如果原表是預設整數序列的索引,那麼可以使用 ignore_index=True 對新序列對應的索引自動标号,否則必須對 Series 指定 name 屬性。
用法:
df1.append(s, ignore_index=True)
assign可以通過直接在原表中添加某一列實作,隻不過注意将修改原表
三、類連接配接操作
1. 比較
compare比較兩個表或者序列的不同處并将其彙總展示
用法:
df1.compare(df2)
2. 組合
combine
用法:
df1.combine(df2, 自定義處理兩表的函數名)