pandas中資料的合併與sql語句類似。主要有函式merge,join等。
merge函式:資料合併,一般是基於通過列索引的資料合併。其有內連線,外連線,左連線,右連線。
內連線:取兩組資料的交集。
c=pd.dataframe([[3,2,3],[2,3,4]],columns=list("a b_x c_x b_y c_yabc"
))b=pd.dataframe([[2,0,3],[3,2,4],[2,0,9],[0,7,8]],index=["
a","
b","
c","
d"],columns=list("
abc"
))print(pd.merge(b,c,on="
a",how="
inner
"))除錯:
0 2 0 3 3 4
1 2 0 9 3 4
2 3 2 4 2 3
左連線:以左邊資料為準,在又測進行查詢,找到則拼接,若無補nan
print(pd.merge(b,c,on="a",how="left"))
結果:a b_x c_x b_y c_y
0 2 0 3 3.0 4.0
1 3 2 4 2.0 3.0
2 2 0 9 3.0 4.0
3 0 7 8 nan nan
外連線:取並集,進行拼接
print(pd.merge(b,c,on="a",how="left"))
a b_x c_x b_y c_y
0 2 0.0 3.0nan nan
1 2 0.0 9.0nan nan
2 3 2.0 4.0 2.0 3.0
3 0 7.0 8.0nan nan
4 5 nan nan 3.0 4.0
join函式:根據行索引進行資料合併,預設左連線。
c=pd.dataframe([["h k l a b ca",4,3],[2,3,4]],columns=list("
hkl"
))b=pd.dataframe([[2,0,3],[3,2,4],[2,0,9],[0,7,8]],columns=list("
abc"))#
merge按照列索引,合併資料
print(c.join(b))
結果:
0 a 4 3 2 0 3
1 2 3 4 3 2 4
pandas資料合併
pandas 提供了三種主要方法可以對資料進行合併 pandas.merge 方法 資料庫風格的合併 例如,通過merge 方法將兩個dataframe合併 on name 的意思是將name列當作鍵 預設情況下,merge做的是內連線 inner 即鍵的交集。其他方式還有左連線 left 右連線 ...
pandas合併資料merge
snailtyan 本文主要是關於pandas的一些基本用法。usr bin env python coding utf 8 import pandas as pd import numpy as np test 1 定義資料 left pd.dataframe right pd.dataframe...
pandas (七)資料合併
合併拼接行 將df2中的行新增到df1的尾部 指定列合併成乙個新錶新列 ndf df 提名1 提名2 ignore index true 提名3 ignore index true ndf pd.dataframe ndf,columns 姓名 將df2中的列新增到df1的尾部 df.concat ...