即使列中的单个值不是NaN,也如何过滤Coulmns

时间:2019-10-20 17:41:20

标签: python pandas dataframe filter pycharm

我有一个具有500行和502列的Pandas数据框,下面是该列名称的简要介绍:

['cluster', 'question1', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ....,500]

集群-集群号 问题1-表示文本数据 column(0-500)-包含500个问题中每个问题的余弦相似度值。

对于每个问题,我只想过滤那些余弦值> 0.5(让我们说x)和<1的行以及其他任何问题。

我已经尝试了以下用于过滤数据的代码

filter_boolean = final_df[(final_df.iloc[:,2:] > 0.5) &(final_df.iloc[:,2:] < 1)]

预期和实际结果如下图所示Input DataFrame Actual Output

1 个答案:

答案 0 :(得分:0)

Pandas dropna函数使用axishow参数来解决此用例。

要在列上使用dropna,请使用axis=1(而不是默认的axis=0,它对行进行操作)。

要放置'any'NaN的位置,请使用how关键字和特殊的'any'

这应该可以解决您的问题。

您也可以使用布尔过滤器来执行此操作,但是以后dropna可能更易于为他人和您自己阅读。