【问题标题】:Groupby Level PandasGroupby 级别熊猫
【发布时间】:2019-04-12 12:26:00
【问题描述】:

我正在尝试使用 Spyder 中的 level 参数来理解 Pandas 中的 Groupby 函数。

   def print_groups(groupobject):
        for name, group in groupobject:
            print (name)
            print (group.head())

我的数据与从 2012 年 1 月到 2012 年 12 月的两个符号有关。我已将变量 mi 的索引设置为符号、年份和月份。

mi = s4g.set_index(['Symbol','Year','Month'])
mi

我想要做的是使用 group(level=0) 参数,并发现当我运行这行代码时,只出现了数据集的前五行。

mig_11 = mi.groupby(level=0)
print_groups(mig_11)

当我使用 level = 1 时,我发现同样的事情发生了。

mig_11a = mi.groupby(level=1)
print_groups(mig_11a)

即使我将其更改为 level = 2,我仍然可以看到前 5 行。

mig_11b = mi.groupby(level=2)
print_groups(mig_11b)

mig_11b 的第二张图片 在此处输入图片说明

我只是不明白为什么当原始数据一直到 12 月时,我看到每个 groupby 级别的前五行。

提前非常感谢。

【问题讨论】:

  • 首先...print_groups在做什么?
  • 糟糕。我没有意识到我忘记了那部分。我会修改我的问题。
  • 你好@coldspeed。我已经修改了我的问题。
  • print (group.head())改成print (group)...对吧?
  • 知道了。非常感谢@coldspeed。

标签: python pandas pandas-groupby spyder


【解决方案1】:

感谢@coldspeed。

我需要在下面的代码中将 print (group.head()) 替换为 print (group) 才能看到整个数据集。

def print_groups(groupobject):
    for name, group in groupobject:
        print (name)
        print (group.head())#Replace with print (group)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 2020-10-12
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2018-05-16
    相关资源
    最近更新 更多