Python 合并/连接2个数据帧
我有两个数据帧想要加入,但是,它们不包含完全相同的行 我在dataframe1中有这个Python 合并/连接2个数据帧,python,pandas,Python,Pandas,我有两个数据帧想要加入,但是,它们不包含完全相同的行 我在dataframe1中有这个 test1 1 test2 3 test5 4 test6 5 test7 6 这是在dataframe2中 test1 4 test3 5 test4 6 test5 3 test6 3 我希望实现以下目标 col1 col2 test1 1 4 test2 3 test3
test1 1
test2 3
test5 4
test6 5
test7 6
这是在dataframe2中
test1 4
test3 5
test4 6
test5 3
test6 3
我希望实现以下目标
col1 col2
test1 1 4
test2 3
test3 5
test4 6
test5 4 3
test6 5 3
test7 6
或
使用,默认情况下为内部联接:
pd.merge(dataframe1, dataframe2, left_index=True, right_index=True)
dataframe1.join(dataframe2)
pd.concat([dataframe1, dataframe2], axis=1)
或者,默认情况下为左连接:
pd.merge(dataframe1, dataframe2, left_index=True, right_index=True)
dataframe1.join(dataframe2)
pd.concat([dataframe1, dataframe2], axis=1)
或者,默认情况下为外部联接:
pd.merge(dataframe1, dataframe2, left_index=True, right_index=True)
dataframe1.join(dataframe2)
pd.concat([dataframe1, dataframe2], axis=1)
使用
pd.merge
与how='outer'
合并:
In [1539]: df1
Out[1539]:
col val
0 test1 1
1 test2 3
2 test5 4
3 test6 5
4 test7 6
In [1540]: df2
Out[1540]:
col val
0 test1 4
1 test3 5
2 test4 6
3 test5 3
4 test6 3
In [1541]: df1.merge(df2, on='col', how='outer')
Out[1541]:
col val_x val_y
0 test1 1.0 4.0
1 test2 3.0 NaN
2 test5 4.0 3.0
3 test6 5.0 3.0
4 test7 6.0 NaN
5 test3 NaN 5.0
6 test4 NaN 6.0
In [1542]: df1.merge(df2, on='col', how='outer').fillna(0)
Out[1542]:
col val_x val_y
0 test1 1.0 4.0
1 test2 3.0 0.0
2 test5 4.0 3.0
3 test6 5.0 3.0
4 test7 6.0 0.0
5 test3 0.0 5.0
6 test4 0.0 6.0
太神了这就是我要找的!输出并不是我想要的。它也在按要求合并您的df。