如何根据包含条件过滤掉熊猫数据框行?

时间:2021-03-25 03:59:58

标签: python pandas dataframe

我有以下数据框

df = pd.DataFrame({'vals': [1, 2, 3, 4, 5], 'ids': ['News: Latest', 'News', 'Cricket', 'Football', 'Football Match: India']})
print(df)

   vals                    ids
0     1           News: Latest
1     2                   News
2     3                Cricket
3     4               Football
4     5  Football Match: India

我有输入数组,我想通过它检查 df 并过滤掉相应的数据。

valueToFilter = ["News", "India"]

我想要的输出

   vals                    ids
0     1           News: Latest
1     2                   News
2     5  Football Match: India

谁能指导我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

你可以试试这个 -

>>> import pandas as pd
>>> df = pd.DataFrame({'vals': [1, 2, 3, 4, 5], 'ids': ['News: Latest', 'News', 'Cricket', 'Football', 'Football Match: India']})
>>> valueToFilter = ["News", "India"]
>>> filter_mask = df['ids'].str.contains('|'.join(valueToFilter))
>>> 
>>> df.loc[filter_mask]
   vals                    ids
0     1           News: Latest
1     2                   News
4     5  Football Match: India