我有以下数据帧:
周期性 | 回答 |
---|---|
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