python - 尝试使用多个名称条目清理调查结果,一些答案为 NaN
问题描述
我正在尝试清理一些奇怪的调查数据,我在下面创建了一个示例:
test1 = ['sean','tom','dan','sean']
test2 = ['Y',np.nan,np.nan,np.nan]
test3 = [np.nan,'Y','N','N']
df = pd.DataFrame({'name':test1,'a':test2,'b':test3})
print(df)
name a b
0 sean Y NaN
1 tom NaN Y
2 dan NaN N
3 sean NaN N
我希望将结果组合在一起,以便“sean”只出现一次(因此仅在名称列中具有唯一值),并且来自名称的两个条目的答案已被组合为:
name a b
0 sean Y N
1 tom NaN Y
2 dan NaN N
谢谢 :)
解决方案
如果总是只有一个非缺失值或每组所有缺失值都可以使用GroupBy.first
:
df = df.groupby('name', as_index=False, sort=False).first()
print(df)
name a b
0 sean Y N
1 tom NaN Y
2 dan NaN N
推荐阅读
- javascript - 在 Cypress 测试中等待最近的路由匹配
- python - 我的 while 函数没有返回任何值!我究竟做错了什么
- c# - 如何解释具有 0 个分支的最优或不可行解决方案?
- android - 为什么 livedata 从 Room 返回陈旧数据
- r - 为什么我不能从 begin.zip 文件加载数据
- node.js - 需要使用 JIRA REST API 和 NodeJS 从 JIRA 获取项目/问题
- heroku - Heroku Hdrive 和 Mulesoft 集成
- node.js - 节点。启动不和谐机器人的问题
- linkedin - 来自LinkedIn的文章共享API抛出错误
- java - 如何修复此 toString() 方法?