首页 > 解决方案 > 将 pandas 列合并到一个新列中

问题描述

假设我有一个数据框如下

     earningspersharebasic earningsPerShareBasic
2019                 -0.19                   NaN
2018                   NaN                  4.00
2017                   NaN                  0.21
2016                  0.01                   NaN

如何使用熊猫将两列合并为一列?所需的输出是

输出

     earningspersharebasic
2019                 -0.19
2018                  4.00
2017                  0.21
2016                  0.01

谢谢!

标签: pythonpython-3.xpandasdataframe

解决方案


使用Series.fillnawithDataFrame.pop将缺失值替换到另一列并删除第二列:

df['earningspersharebasic'] = df['earningspersharebasic'].fillna(df.pop('earningsPerShareBasic'))
print (df)
      earningspersharebasic
2019                  -0.19
2018                   4.00
2017                   0.21
2016                   0.01

DataFrame.iloc或者,您可以使用第一列中[[0]]的一列 DataFrame选择第一列来填充缺失值:

df = df.bfill(axis=1).iloc[:, [0]]

推荐阅读