首页 > 解决方案 > 合并 Pandas 数据框中的列

问题描述

我有一个包含三列的数据框

Col1    Col2    Col3  Col4  Col 5
---------------------------------
Apple   None    192    abc   None
Banana  Banana  89     None  bcd
None    Cake    892    aaa   aaa

我想合并两列,即 Col1 和 Col2 以及 col1 和 col5 如果没有一列而其他列有值,则使用该值,如果两者都有值,则使用该值。
是否可以合并这样的列。

Col1    Col3     Col4
----------------------
Apple   192      abc
Banana  89       bcd
Cake    892      aaa

标签: pythonpandasdataframe

解决方案


使用(如果 None 是首先替换为np.nan:的字符串df=df.replace('None',np.nan)):

df_new=df.ffill().bfill()[['Col1','Col3']]
print(df_new)

     Col1  Col3
0   Apple   192
1  Banana    89
2  Banana   892

根据更新:

df.bfill(axis=1)[['Col1','Col3','Col4']]

     Col1 Col3 Col4
0   Apple  192  abc
1  Banana   89  bcd
2    Cake  892  aaa

推荐阅读