python - 将 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
谢谢!
解决方案
使用Series.fillna
withDataFrame.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]]
推荐阅读
- python - 使用python使用FPDF导入字体时出现问题
- nginx - Kubernetes Ingress/nginx pod 特定值
- xml - XSD 架构:使元素 *List 可选
- r - 如何在 R 中使用 LDAvis 可视化种子 LDA 模型?
- python - 是否可以使用参数自动生成函数?
- ios - Unity-iPhone" 需要配置文件
- javascript - 未显示 svg 内的视频
- java - 无法再运行项目并出现错误:未设置“hibernate.dialect”时对 DialectResolutionInfo 的访问不能为空
- blazor - .Net 5 Blazor WASM 只想在表格列中显示部分字符串
- python - 在python中满足条件后读取下一行的方法