首页 > 解决方案 > 如何合并具有相同名称的两列

问题描述

我有一个 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

标签: pythonpython-3.xpandasdataframe

解决方案


您可以使用 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

推荐阅读