Python连接两个相同的列并保持其他列不变

2024-03-29 06:50:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些数据

>>> df1
  Col1     Col2
0   Hi    Hello
1  How     Fine
2  Why  Because
3  You       Me
4   We     They
>>> df2
      Col1   Col2
0       Mr    Mrs
1  Welcome    Bye
2      Wow    Ohh
3      Sit  Stand

我只想连接这两个数据帧的第一列Col1,并更新df1,保持Col2不变,但我无法这样做

我试过很多方法,但都失败了

我想要的输出

>>> df2
  Col1     Col2
0   Hi    Hello
1  How     Fine
2  Why  Because
3  You       Me
4  We     They
5  Mr
6  Welcome
7  Wow
8  Sit

索引是否不同或是否有空单元格而不是NaN都无关紧要

我试过的东西

1

>>> r=pd.concat([df1["Col1"],df2["Col1"]])
>>> df1["Col1"] = r.reset_index(drop=True)
>>> df1
  Col1     Col2
0   Hi    Hello
1  How     Fine
2  Why  Because
3  You       Me
4   We     They

2

>>> pd.concat([df1["Col1"],df2])
     0     Col1   Col2
0   Hi      NaN    NaN
1  How      NaN    NaN
2  Why      NaN    NaN
3  You      NaN    NaN
4   We      NaN    NaN
0  NaN       Mr    Mrs
1  NaN  Welcome    Bye
2  NaN      Wow    Ohh
3  NaN      Sit  Stand

3

I Tried append(), merge() and some more techniques but failed


Tags: youhellonanhihowcol2col1we
1条回答
网友
1楼 · 发布于 2024-03-29 06:50:22

append

df1.append(df2[['Col1']])

      Col1     Col2
0       Hi    Hello
1      How     Fine
2      Why  Because
3      You       Me
4       We     They
0       Mr      NaN
1  Welcome      NaN
2      Wow      NaN
3      Sit      NaN

concat

pd.concat([df1, df2[['Col1']]])

      Col1     Col2
0       Hi    Hello
1      How     Fine
2      Why  Because
3      You       Me
4       We     They
0       Mr      NaN
1  Welcome      NaN
2      Wow      NaN
3      Sit      NaN

无论哪种情况,都可以传递ignore_index=True选项来忽略索引

df1.append(df2[['Col1']], ignore_index=True)

      Col1     Col2
0       Hi    Hello
1      How     Fine
2      Why  Because
3      You       Me
4       We     They
5       Mr      NaN
6  Welcome      NaN
7      Wow      NaN
8      Sit      NaN

相关问题 更多 >