Home > Blockchain >  How to filter Pandas DataFrame by checking whether a Column contains any String from a List?
How to filter Pandas DataFrame by checking whether a Column contains any String from a List?

Time:10-24

Context

I have a Pandas DataFrame and would like to filter it by only including Rows that contain any String from a given List. However, I can't find a solution in the Pandas Documentation.


Code

DataFrame

ID      Names
0       'NameA NameB'
1       'NameB'
2       'NameB NameC'
3       'NameC'
data: pandas.DataFrame = ...
names = ['NameA', 'NameC']

filteredData = data.filter ... # ?

In this example, when filtering, only the Row with ID = 1 should be removed, since it does not contain one the defined Names.


Question

  • How can I achieve the described goal above?

CodePudding user response:

use:

df2=data.loc[data['Names'].str.contains('|'.join(names))]

CodePudding user response:

enter image description here

Please be sure to answer the question. Provide details and share your research!

  • Related