Pandas过滤一列中的值

时间:2017-02-27 21:17:04

标签: python pandas dataframe

我有一个这样的数据框:

enter image description here

有114行。前6行CPULabel的值将重复19次。 我尝试使用下面的命令来过滤包含字符串'Fast'或'Slow'的数据:

{{1}}

但有时不同的人会以不同的名称命名,唯一的共同点是字符串'Fast'或'Slow'。我以前尝试过常规快递,但没有用。 无论如何过滤或选择列中的某些值? 非常感谢你。

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式str.contains尝试使用(?i)fast|(?i)slow,这会选择包含fastslow的字符串,并忽略大小写:

df[df['CPULabel'].str.contains("(?i)fast|(?i)slow")]

实施例

df = pd.DataFrame({"CPULabel": ["BP100_Fast", "BP100_Slow", "BP100"]})

df
#     CPULabel
#0  BP100_Fast
#1  BP100_Slow
#2       BP100

df[df['CPULabel'].str.contains("(?i)fast|(?i)slow")]

#     CPULabel
#0  BP100_Fast
#1  BP100_Slow