pandas - 合并数据框中 NaN 的类似记录字段
问题描述
例如,我有一组这样的记录:
A B C D
0 1 0 Nan Nan
1 1 1 1 Nan
2 1 2 2 2
3 2 Nan 3 3
4 2 4 4 4
5 3 5 Nan Nan
并且我想合并 A 列上的所有记录,以便以后的记录只会替换以前的记录(如果Nan
存在)。所以我最终是这样的:
A B C D
0 1 0 1 2
1 2 4 3 3
2 3 5 Nan Nan
所以我已经可以使用groupby()
,iterrows()
并且多次通过,直到什么都没有,但感觉非常低效。
在我开始写之前,我很好奇 Pandas 是否有更好的方法来做到这一点。
解决方案
尝试first
#df = df.replace({'Nan':np.nan})
df = df.groupby('A', as_index=False).first()
df
Out[20]:
A B C D
0 1 0.0 1.0 2.0
1 2 4.0 3.0 3.0
2 3 5.0 NaN NaN
推荐阅读
- django - Elastic Beanstalk Django 部署,psycopg2 未加载
- javascript - 如何检查输入字段值是否包含字符?
- c++11 - 具有自定义分配器和删除器的唯一 ptr
- flutter - Flutter:按下按钮时调用 setState() 两次
- spring - 电影票务的 Spring Boot 调度预订窗口
- node.js - 使用 nodemailer-openpgp 发送 PGP 电子邮件会正确加密,但会导致 SMTP API 错误
- jsp - 如何使用 JSTL 保持从另一个 JSP 页面传递的数据?
- ios - 同步在不同线程中频繁设置属性时崩溃
- python - 多个版本的 Python 安装模块 - Windows
- javascript - 当用户点击关闭时,仅在一天内创建广告隐藏(有 cookie)