python - 即使列中的单个值不是 NaN,如何过滤 Coulmns
问题描述
我有一个包含 500 行和 502 列的 Pandas 数据框,下面是列名的简要介绍:
['cluster', 'question1', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ....,500]
集群 - 集群编号 Question1 - 表示文本数据列 (0 - 500) - 包含 500 个问题中每个问题的余弦相似度值。
对于每个问题,我只想过滤余弦值 > 0.5(假设 x)且 < 1 的行以及任何其他问题。
我已经尝试了下面的一组代码来过滤数据
filter_boolean = final_df[(final_df.iloc[:,2:] > 0.5) &(final_df.iloc[:,2:] < 1)]
预期和实际结果如下图所示Input DataFrame 实际输出
解决方案
Pandasdropna
函数使用axis
andhow
参数来解决这个用例。
要dropna
在列上使用,请使用axis=1
(而不是默认的axis=0
,它对行进行操作)。
要删除 where 'any'
are NaN
,请使用how
关键字和 special 'any'
。
这应该可以解决您的问题。
您也可以使用布尔过滤器来执行此操作,但dropna
以后可能会更清楚地为他人和您自己阅读。
推荐阅读
- python - 使用 ISIN 在 PYTHON 中检索股票数据
- javascript - 如何使用 JavaScript 插入以 pug 语法编写的 html 元素?
- css - 如何将多个css类作为数组分配给React中的jsx变量,然后使用join()函数将该变量分配给className
- android - java.lang.IllegalStateException:无法在 HMS 扫描套件中执行 android:onClick 的方法
- c# - .Net Core Identtiy 电子邮件确认令牌一旦使用就应该是无效的
- java - 如何在 OpenLDAP(UnboundID Java API)中获取组(嵌套)用户
- abap - SCI 检查期间的 SWLT 短转储
- jenkins - 具有条件的 Jenkins 流水线阶段
- c++ - 使用 libipt,如何为 TCP 数据包添加匹配规则,例如“dport”?
- python - 有没有办法使用 Python 实时检测扬声器的声音活动?