Str.Contains 于 Pandas

问题描述 投票:0回答:1

我有一个数据集如下,其中

Coffee type = ['Robusta/Arabica','Arabica/Robusta','Arabia','Robusta']

enter image description here

如何过滤仅包含“Robusta”的行?

我尝试使用

str.contains('Robusta')
,但它包括
'Robusta/Arabica'
'Arabica/Robusta'

python pandas string filter
1个回答
-1
投票

我有一个提示给你,总是使用连续的字符串来命名 pandas 的数据帧列。这样,在调用列名称尝试操作数据框时就不会遇到问题(因此,使用“coffee_type”而不是“Coffee type”)。考虑到这一点,你可以这样做:

df.columns = ['country', 'coffee_type', '1990/91']

groups = df.groupby('coffee_type')

现在您在“组”中拥有每种咖啡类型的数据框列表,并且可以获得所需的数据框:

df_robusta = groups.get_group('Robusta') 

请注意,coffee_type 现在是“df_arabica”数据帧的索引。

你也可以这样做,例如:

df_robusta = df[df['coffee_type']=='Robusta']

这是基本的切片。您无需为新数据框创建新变量即可执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.