如何只显示文字中包含* AV *例如' AV Snow'等字的行。或者' AV(一些)'或者'我AV'
# Select Structural status = 'AVAILABLE' or like *AV*
value_list = ['AVAILABLE', '[AV]']
' [AV]'似乎不正确
# Grab DataFrame rows where column has certain values
new_df = df[df.STRUCTURALSTATUS.isin(value_list)]
new_df.shape
答案 0 :(得分:2)
这是一种方式。
<强>解决方案强>
import pandas as pd
df = pd.DataFrame({'A': ['AV', 'AV Snow', 'Test', 'AV (Some)',
'Nothing', 'Me AV', 'Available', 'NA']})
df = df[df['A'].str.contains('AV', regex=False, case=False, na=False)]
<强>结果强>
A
0 AV
1 AV Snow
3 AV (Some)
5 Me AV
6 Available
<强>解释强>
regex=False
禁用正则表达式,因为您的特定任务不需要它。case=False
使搜索案例不敏感。na=False
表示如果系列中存在异常类型,您将看不到错误,例如非字符串。答案 1 :(得分:0)
如果您想使用正则表达式模式,可能需要在系列上使用str.contains来过滤DataFrame。然后,您可以在结果上应用带有isin函数的列表。
示例:
df[df.STRUCTURALSTATUS.str.contains('[AV]')]