我有一个具有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
答案 0 :(得分:0)
Pandas dropna
函数使用axis
和how
参数来解决此用例。
要在列上使用dropna
,请使用axis=1
(而不是默认的axis=0
,它对行进行操作)。
要放置'any'
是NaN
的位置,请使用how
关键字和特殊的'any'
。
这应该可以解决您的问题。
您也可以使用布尔过滤器来执行此操作,但是以后dropna
可能更易于为他人和您自己阅读。