我在Python中使用Pandas来比较两个数据帧。我想把一组数据与另一组数据相匹配。
Dataframe 1
<表类>
名称
tbody><<tr>山姆 迈克 约翰 马修标记 表类>
您可以使用pd.merge(..., , how = 'outer')
保留所有行并为它们插入Nan
,然后使用.fillna(0)
并为Nan
插入0
:
>>> pd.merge(df1, df2, on = 'Name', how = 'outer').fillna(0)
Name Number
0 Sam 0
1 Mike 76
2 John 92
3 Matthew 0
4 Mark 32
在pd.merge(..., , how = 'outer')
中,你可以考虑两个DataFrame,如果你想合并一个DataFrame和另一个DataFrame,你可以像下面这样合并,看看这个例子:
>>> df1 = pd.DataFrame({'Name': ['Mike','John','Mark','Matthew']})
>>> df2 = pd.DataFrame({'Name': ['Mike','John','Mark', 'Sara'], 'Number' : [76,92,32,50]})
>>> pd.merge(df1, df2, on='Name', how='outer').fillna(0)
Name Number
0 Mike 76.0
1 John 92.0
2 Mark 32.0
3 Matthew 0.0
4 Sara 50.0
>>> df1.merge(df2,on='Name', how='left').fillna(0)
Name Number
0 Mike 76.0
1 John 92.0
2 Mark 32.0
3 Matthew 0.0