熊猫过滤值在一列中

问题描述:

我有一个数据帧这样的:熊猫过滤值在一列中

enter image description here

与114行。前6行CPULabel的值将重复19次。 我尝试使用下面的命令来筛选包含字符串数据的“快”或“慢”:

df[(df['CPULabel']=='BP100_Fast') | (df['CPULabel']=='100LoBW_Fast') | (df['CPULabel']=='100HiBW_Fast')] 
df[(df['CPULabel']=='BP100_Slow') | (df['CPULabel']=='100LoBW_Slow') | (df['CPULabel']=='100HiBW_Slow')] 

但有时不同的人会有不同的名字,在唯一的共同点是字符串“快速”或'慢'。我之前尝试过正规快递,但没有成功。 无论如何过滤或选择列上的某些值? 非常感谢。

你可以尝试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 
+0

正是我想要的是。非常感谢你。 – Dogod