Groupby 级别的 Pandas

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


   def print_groups(groupobject):

        for name, group in groupobject:

            print (name)

            print (group.head())

我有关于从 2012 年 1 月开始到 2012 年 12 月的两个符号的数据。我已将变量 mi 的索引设置为 Symbol、Year 和 Month。


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

mi

http://img.mukewang.com/6113d53d0001264b04430395.jpg

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


mig_11 = mi.groupby(level=0)

print_groups(mig_11)

http://img2.mukewang.com/6113d5490001876004340330.jpg

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


mig_11a = mi.groupby(level=1)

print_groups(mig_11a)

http://img.mukewang.com/6113d5560001ec5a04580227.jpg

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


mig_11b = mi.groupby(level=2)

print_groups(mig_11b)

http://img4.mukewang.com/6113d563000165f904780470.jpg

http://img2.mukewang.com/6113d56e0001dd0704170419.jpg

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



拉风的咖菲猫
浏览 159回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python