我有一个包含三列的数据框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
波斯汪
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
添加回答
举报
0/150
提交
取消