python - 如何用另一列的值填充 Pandas 列的 NaN 值
问题描述
在一定数量的行之后,我有一列缺少值,而另一列到那时为止缺少值。如何加入这两列,以便有一列包含所有值?
列原样:
COL 1 COL 2
0 A NaN
1 B NaN
2 C NaN
3 NaN D
4 NaN E
5 NaN F
预期输出:
COL 1
0 A
1 B
2 C
3 D
4 E
5 F
解决方案
使用Series.fillna
或Series.combine_first
:
df['COL 1'] = df['COL 1'].fillna(df['COL 2'])
df['COL 1'] = df['COL 1'].combine_first(df['COL 2'])
如果还想删除第二列添加DataFrame.pop
:
df['COL 1'] = df['COL 1'].fillna(df.pop('COL 2'))
#df['COL 1'] = df['COL 1'].combine_first(df.pop('COL 2'))
推荐阅读
- sql-server-2008 - 如何将“case when”结果应用于 SQL 2008 查询中的 where 条件
- r - 数据提取与清洗 | 读取txt文件并使用grep
- angular - 路由数组上的 skipLocationChange。角 11
- google-sheets - 如何在数据库条目中查找超时更改?
- utf-8 - 在 RTF 中指定 utf-8 字符编码?文本(UTF-8 格式)在 Sqlite 中正确显示
- python - 创建用于训练深度学习模型的 docker 映像
- python - 基于两列之间的比较调整数据框
- sql - MS SQL如何将两行的值合二为一?
- python - 如何在 Python 中将精度提高数百位小数
- vue.js - 在 Vue-Vite 中启用源映射