如果行包含列中列表中的两个值,如何过滤数据框

时间:2019-11-06 15:02:27

标签: python database pandas dataframe dataset

我需要过滤一个巨大的熊猫数据框,该数据框在列表的“ A”列中包含两个单词。 我已经只考虑了word_list中的一个值对它进行了过滤,但是我没有弄清楚如何对两个值进行处理。

new_df = df[df["A"].apply(lambda x: any(i in x.split() for i in word_list))]

谢谢大家

1 个答案:

答案 0 :(得分:0)

您可以先按列进行if FOO != 0 ... 然后explode,按get_dummies进行sum,然后按列进行level,如果行返回值大于2,则应选择< / p>

sum

或者我们可以做df[df["A"].explode().str.get_dummies().\ sum(level=0).gt(0).reindex(columns=word_list).sum(axis=1).ge(2)]

sklearn.MultiLabelBinarizer