【发布时间】: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