python - 如何在不知道哪些行的情况下在多列中选择具有 NaN 的行?
问题描述
假设我有一个数据框:
0 1 2 3 4 5
0 1A 2 3 4 nan 6
1 1 2 3 nan 5 nan
2 1A 2 nan nan nan nan
3 1 2 nan nan nan nan
4 1 2 3 4 5 6
我想删除具有 df[0] 条件且第 2 列为 nan 的行。我无法获得第二部分。
我尝试使用以下方法选择要删除的行:
df.loc[:,2:].isnull()
但这会选择最后一列中包含任何空值的行,我想要 2: 中的所有列都为空的行
我不想命名列,因为数据框并不总是具有相同数量的列。我现在想到的唯一解决方案是确定数据框中的列数,然后使用
df.loc[x,2].isnull() & df.loc[x,3].isnull() ...
这看起来很笨重。理想情况下,我想要一种方法来检查第 2 列之后的所有列中是否有空值 (df.loc[x,2:])
解决方案
Quang Hong在评论中给了我一个答案,这正是我一直在寻找的:
df.loc[:,2:].isnull().all(1)
推荐阅读
- sophoslabs-intelix - SophosLabs File Malware Cloud Lookup API 中的reputationScore 值是什么意思
- java - 以下 API 已列入灰名单,Google 无法保证它们可以在现有的 Android 版本上运行
- php - 使用`use`导入原生php函数有什么需要?
- c# - 自动选择“下拉列表”在 MVC 中不起作用
- css - 如何修复 Internet Explorer 中的 canvg 导出?
- javascript - 从 jquery 中的数据库中获取多选下拉绑定的选定 id 值
- postgresql - pq:无法调整共享内存段的大小。设备上没有剩余空间
- android - 如何控制波纹淡入和淡出持续时间?
- mysql - 查询返回 group by 且 > 1 的任何记录的日期
- android - match_parent 出于某种奇怪的原因作为 wrap_content 工作