熊猫 \- 合并两列

新手上路,请多包涵

我有 2 列,我们称之为 xy 。我想创建一个名为 xy 的新列:

 x    y    xy
1         1
2         2

     4    4
     8    8

不应有任何冲突的值,但如果有,则 y 优先。如果它使解决方案更容易,您可以假设 x 将始终是 NaN 其中 y 有一个值。

原文由 JesusMonroe 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 325
2 个回答

如果你的例子是准确的,它可能会很简单

df.fillna(0)      #if the blanks are nan will need this line first
df['xy']=df['x']+df['y']

原文由 SuperStew 发布,翻译遵循 CC BY-SA 4.0 许可协议

请注意,您现在的列类型不再是数字字符串

df = df.apply(lambda x : pd.to_numeric(x, errors='coerce'))

df['xy'] = df.sum(1)

更多的

df['xy'] =df[['x','y']].astype(str).apply(''.join,1)

#df[['x','y']].astype(str).apply(''.join,1)
Out[655]:
0    1.0
1    2.0
2
3    4.0
4    8.0
dtype: object

原文由 BENY 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏