我有一个数据集如下,其中
Coffee type = ['Robusta/Arabica','Arabica/Robusta','Arabia','Robusta']
如何过滤仅包含“Robusta”的行?
我尝试使用
str.contains('Robusta')
,但它包括 'Robusta/Arabica'
和 'Arabica/Robusta'
。
我有一个提示给你,总是使用连续的字符串来命名 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']
这是基本的切片。您无需为新数据框创建新变量即可执行此操作。