![](/img/trans.png)
[英]Pandas, filter dataframe based on unique values in one column and grouby in another
[英]Pandas to filter values in one column
我有一個這樣的數據框:
有 114 行。 CPULabel
的前 6 行的CPULabel
將重復 19 次。 我嘗試使用下面的命令來過濾包含字符串'Fast'
或'Slow'
:
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')]
但有時不同的人會以不同的方式命名,唯一的共同點是字符串'Fast'
或'Slow'
。 我之前試過正則快遞,沒用。 無論如何要過濾或選擇列中的某些值? 非常感謝。
您可以使用正則表達式(?i)fast|(?i)slow
嘗試str.contains
,這將選擇包含fast
或slow
字符串,忽略大小寫:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.