python - 如何合并具有相同名称的两列
问题描述
我有一个 Pandas DataFrame,它有两列名为:“cases”。我想将两列合并为一列,我不想执行任何计算。
如果 case1 包含“NaN”,则 case2 包含数据,反之亦然。
case1 和 case2 不能同时包含同一行的数据。
cases cases deaths
2020-01-01 10 NaN 0
2020-01-02 NaN 2 1
输出应该是:
cases deaths
2020-01-01 10 0
2020-01-02 2 1
解决方案
您可以使用 just 统计数据框df[['deaths']]
并使用.assign()
创建一个新列cases
,将两列按列位置添加在一起.iloc
:
df = df[['deaths']].assign(cases=df.iloc[:,0:2].fillna(0).sum(axis=1))
deaths cases
2020-01-01 0 10.0
2020-01-02 1 2.0
推荐阅读
- version-control - 是否有显示 pdf 文件之间差异的版本控制工具?
- angular - Rete.js 在调整窗口大小之前不会渲染编辑器
- python - 使用@client.event on_message (Discord.py) 获取权限
- javascript - 通过vuejs中另一个的值从一个选择中获取数据
- docker - skaffold 和 microk8s -- 容器服务器正在等待启动:无法拉取
- allennlp - 为什么新版 allennlp 的 datasetloader 没有 __add__ 方法?
- clojure - 是否可以查询 Jetty Server 的统计信息?
- python - 覆盖附加的列表值
- gradle - gradle - 为特定任务添加自定义配置到 installDist
- javascript - Selenium 如何从从 DOM 中删除的脚本中获取变量