python - Pandas DataFrame 根据条件删除 NaN 行?
问题描述
Pandas DataFrame 根据条件删除 NaN 行。
我正在尝试删除其gender==male
和status == NaN
.
样本df:
name status gender leaves
0 tom NaN male 5
1 tom True male 6
2 tom True male 7
3 mary True female 1
4 mary NaN female 10
5 mary True female 15
6 john NaN male 2
7 mark True male 3
预期输出:
name status gender leaves
0 tom True male 6
1 tom True male 7
2 mary True female 1
3 mary NaN female 10
4 mary True female 15
5 mark True male 3
解决方案
您可以使用isna
(或isnull
)函数获取值为 的行NaN
。有了这些知识,您可以使用以下内容过滤您的数据框:
conditions = (df.gender == 'male')&(df.status.isna())
filtered_df = df[~conditions]
推荐阅读
- spyder - 在 Spyder 3.3.3 中运行当前行不起作用
- python - CondaHTTPError:URL 的 HTTP 000 连接失败 - Anaconda
- qt - Remove space between TabButton in TabBar
- asp.net-core - 如何在 .net core 3.0 应用程序中使用 sql 将新用户添加到数据库?
- java - 导入 JCC 时出错。找不到 libjava.so
- scala - 为什么在 Int 扩展 AnyVal 时将 Int => Int 传递给采用 AnyVal => Int 的函数会导致类型不匹配?
- python - 注释列表中的相邻值
- python - 计算某些子集具有不同值的列表的最小总和
- qt - 改变 QTextEdit 的换行算法?
- ruby-on-rails - 改进我第一次使用 Rails Action Cable 所需的建议