如何解决合并大熊猫中的列?
我在熊猫中合并了两列,但是遇到了“无”的问题。
我的df:
id name1 name2
1 sam None
2 None slic
3 brm dres
我正在使用串联方法来组合name1和name2
df['New'] df['name1] + df['name2']
但是当我使用它的时候,所有的值都被忽略了……我不知道为什么。这是我的输出结果
id name1 name2 New
3 brm dres brmdres
但是我需要这个:
id name1 name2 New
1 sam None sam
2 None slic slic
3 brm dres brmdres
解决方法
如果replace
是None
string
,请尝试使用type
进行过滤,否则请fillna('')
df.filter(like='name').replace('None','').sum(1)
0 sam
1 slic
2 brmdres
dtype: object
,
在您只需要对数据框中的特定列求和的情况下,这是一个完整的答案:
df = pd.DataFrame({'name1': ['sam',None,'brm'],'name2': [None,'slic','dres'],'name3': ['sam2','slic2','dres2']})
df['new'] = df['name1'].fillna('') + df['name2'].fillna('')
只是为了解释发生了什么:fillna('')将列副本中的空字符串''替换为None。这意味着您实际上是在空字符串“”中添加“ sam”,从而再次为您提供“ sam”。
,我喜欢的解决方案:
df['new'] = df.fillna('').sum(axis=1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。