【问题标题】:Selecting specific rows of a pandas data frame using a list [duplicate]使用列表选择熊猫数据框的特定行[重复]
【发布时间】:2021-07-15 09:11:33
【问题描述】:

假设我有一个包含人名的简单数据框。我在name 上执行groupby

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 执行后提取列表中的值。

【问题讨论】:

  • 请发布您的预期输出

标签: python pandas dataframe


【解决方案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

【讨论】:

    猜你喜欢
    • 2018-05-20
    • 2020-08-01
    • 2021-11-04
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2020-12-23
    • 2021-03-06
    • 2019-08-25
    相关资源
    最近更新 更多