【问题标题】:Each item in a Groupby [closed]Groupby中的每个项目[关闭]
【发布时间】:2018-08-25 23:00:04
【问题描述】:
copy_df = df.copy()
copy_df = copy_df.groupby(['STNAME'])
states_pop = pd.DataFrame(columns=['pop'])
for i, c in copy_df:
    states_pop.loc[i] = [**c.sort_value**s(by='CENSUS2010POP', ascending=False)[1:4]['CENSUS2010POP'].sum()]

这很好用,但我的疑问是 - 它不应该是 i.sort_values 而不是 c.sort_values。每个项目 i 都是一个系列,而不是一个数据框,对吗?

【问题讨论】:

    标签: python pandas group-by


    【解决方案1】:

    Pandas official documentation

    .groupBy(...) [...] 返回:GroupBy 对象

    该对象可以充当字典,其中键是对象已分组的列的可能值,值是新的数据帧,数据相应地分组。

    所以你的分组结果可以迭代如下:

    for name, group in groupedDataFrame:
        (...)
        # group is a new dataFrame
    

    因此是分组(在您的情况下为 c)而不是命名,这是一个字符串(在您的情况下为 i),您必须对其应用 dataframe 操作。

    您可以通过以下方式检查:

        print(type(name), type(group))
    

    我建议你检查以下link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-24
      • 2017-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 2021-11-20
      相关资源
      最近更新 更多