python - 如何在 python pandas 中的数据帧上执行 groupby 时保留带有空(nan)单元格的行
问题描述
我有一个包含四列的数据框:["Artist", "Album", "Title", "Point"] 其中前三列标识一首歌曲,第四列是乐谱。每首歌曲可能在一个列表中出现多次,有些歌曲没有专辑信息,这是对应单元格中的一个nan值。我使用以下代码来获取每首歌曲的总分:
B = A.groupby(['Artist', 'Album', 'Title'])['Point'].sum()
C = B.sort_values(by=['Point'], ascending=[False]).reset_index(drop=True)
但我已经意识到,如果有任何行缺少专辑信息(nan),那么该行不会出现在变量 B 中。如何强制 nan 成为有效的独特信息?如果我有两次相同的歌曲,一次有专辑,一次没有,这两个应该在分组后显示为两个不同的记录。
有没有办法正确地做到这一点,或者我是否必须通过强制所有“nan”成为空字符串或其他东西来对数据进行一些预处理?
解决方案
.fillna('N/A') 将修复搜索。但有了更多数据,可能会有更好的解决方案
A['Album'].fillna('N/A', inplace=True)
你的总和应该工作
推荐阅读
- python - 如何修复运行时错误:无法关闭正在运行的事件循环 - Python Discord Bot
- c# - 如何在 SummaryAdmin 视图上禁用内容字段预览
- sql - 我可以在 HAVING 上计算 SQL 操作而不在 SELECT 之前计算它们吗?
- angular - 如何使用 Angular 使用 on select 方法填充另一个选择中的项目列表
- python-3.x - 如何使刮板抓取的不仅仅是一个谷歌页面
- python - 当类中没有变量时,是否可以初始化实例变量?
- reactjs - 当我单击一个链接时,如何更改另一个组件的状态?
- uitextfield - Xcode 11 Beta 6 UISearchBar 文本字段背景颜色
- bash - 对由多个子进程填充的文件进行准确编号和计数
- android - 没有白色背景的图像视图