为了账号安全,请及时绑定邮箱和手机立即绑定

合并 Pandas 数据框中的列

合并 Pandas 数据框中的列

浮云间 2021-11-23 19:12:17
我有一个包含三列的数据框Col1    Col2    Col3  Col4  Col 5---------------------------------Apple   None    192    abc   NoneBanana  Banana  89     None  bcdNone    Cake    892    aaa   aaa我想合并两列,即 Col1 和 Col2 以及 col1 和 col5 如果一列在 none 和 other 中有值,则使用该值,如果两者都有值,则使用该值。是否可以像这样合并列。Col1    Col3     Col4----------------------Apple   192      abcBanana  89       bcdCake    892      aaa
查看完整描述

2 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

使用(如果 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


查看完整回答
反对 回复 2021-11-23
?
波斯汪

TA贡献1811条经验 获得超4个赞

创建您的映射dict,groupby使用first


d={'Col1':'Col1','Col2':'Col1','Col3':'Col3','Col4':'Col4','Col5':'Col4'}

Yourdf=df.mask(df=='None').groupby(d,axis=1).first()

Out[88]: 

     Col1  Col3 Col4

0   Apple   192  abc

1  Banana    89  bcd

2    Cake   892  aaa


查看完整回答
反对 回复 2021-11-23
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信