我想合并两个只有一列的数据框,即
df1
和 df2
,如下所示。预期输出数据帧为 df3
。
import pandas as pd
data1 = [
'A',
'B',
'C']
df1 = pd.DataFrame(data1,columns=['name'])
data2 = [
'B',
'C',
'D']
df2 = pd.DataFrame(data2,columns=['name'])
data3 = [
['A',],
['B','B'],
['C','C'],
[None,'D']]
df3 = pd.DataFrame(data3,columns=['name_x','name_y'])
print(df1)
print(df2)
print(df3)
输出:
name
0 A
1 B
2 C
name
0 B
1 C
2 D
name_x name_y
0 A None
1 B B
2 C C
3 None D
我应该使用
merge
来做到这一点还是任何其他方式?
df1.index = df1.name
df2.index = df2.name
df1.join(df2, how='outer', lsuffix='_x', rsuffix='_y')
如果您不想在索引中包含姓名,可以添加
.reset_index(drop=True)