假设我有一个包含人名的简单数据框。我在 groupby
name
import pandas as pd
df = pd.DataFrame({'col1' : [1,2,3,4,5,6,7], 'name': ['George', 'John', 'Tim', 'Joe', 'Issac', 'George', 'Tim'] })
df1 = df.groupby('name')
问题:如何在 groupby name
给定这些名称的列表中选择特定名称?
例如说我有以下列表
list = ['John', 'Tim', 'George']
尝试:
list
df1 = df[df['name'].isin(list)].groupby('name')
我们如何按名称分组并输出列表中具有名称的条目? 这样做的任何替代方法都会有所帮助。例如,在执行 group by 后,可以在 group by of 列表中提取值中执行此操作。
答案 0 :(得分:-1)
如果必须在分组后进行过滤 -
for group, group_df in df1:
if group in ['John', 'Tim', 'George']:
print(group_df)
# col1 name
# 0 1 George
# 5 6 George
# col1 name
# 1 2 John
# col1 name
# 2 3 Tim
# 6 7 Tim