通过正则表达式和匹配条件筛选DataFrame



我有以下数据帧:

周期性 回答
M
M YeS
Y 是S
M
Y
M nO

试试这个:

df_filter=df[df.Answer.str.contains(pat) & df.Periodicity.str.contains('M')]

您可以在没有regex的情况下(通过使用字符串lower方法和数据帧过滤:

import pandas as pd
import re
data = {'Periodicity': ['M', 'Y', 'M', 'M', 'M', 'Y', 'M', 'M'],
'Answer': ['YES', 'Yes', 'YEs', 'NO', 'no', 'No', 'yeS', 'yeS']}

df = pd.DataFrame(data)
df = df[(df['Answer'].str.lower() == 'yes') & (df['Periodicity'] == 'M')] # do this
print(df)

输出:

Periodicity Answer
0           M    YES
2           M    YEs
6           M    yeS
7           M    yeS

最新更新