合并 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 如果一列在 none 和 other 中有值,则使用该值,如果两者都有值,则使用该值。

是否可以像这样合并列。


Col1    Col3     Col4

----------------------

Apple   192      abc

Banana  89       bcd

Cake    892      aaa


浮云间
浏览 188回答 2
2回答

素胚勾勒不出你

使用(如果 None 是字符串,首先替换为np.nan: df=df.replace('None',np.nan)):df_new=df.ffill().bfill()[['Col1','Col3']]print(df_new)     Col1  Col30   Apple   1921  Banana    892  Banana   892基于更新:df.bfill(axis=1)[['Col1','Col3','Col4']]     Col1 Col3 Col40   Apple  192  abc1  Banana   89  bcd2    Cake  892  aaa

波斯汪

创建您的映射dict,groupby使用firstd={'Col1':'Col1','Col2':'Col1','Col3':'Col3','Col4':'Col4','Col5':'Col4'}Yourdf=df.mask(df=='None').groupby(d,axis=1).first()Out[88]:      Col1  Col3 Col40   Apple   192  abc1  Banana    89  bcd2    Cake   892  aaa
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python