合并两个只有一列的数据框

问题描述 投票:0回答:1

我想合并两个只有一列的数据框,即

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
来做到这一点还是任何其他方式?

python pandas merge
1个回答
0
投票
df1.index = df1.name
df2.index = df2.name
df1.join(df2, how='outer', lsuffix='_x', rsuffix='_y')

如果您不想在索引中包含姓名,可以添加

.reset_index(drop=True)

© www.soinside.com 2019 - 2024. All rights reserved.