按级别分组 Pandas
Groupby Level Pandas
我正在尝试使用 Spyder 中的级别参数来理解 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 级别的前五行。
非常感谢。
感谢@coldspeed。
我需要在下面的代码中将 print (group.head()) 替换为 print (group) 以查看整个数据集。
def print_groups(groupobject):
for name, group in groupobject:
print (name)
print (group.head())#Replace with print (group)
我正在尝试使用 Spyder 中的级别参数来理解 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 级别的前五行。
非常感谢。
感谢@coldspeed。
我需要在下面的代码中将 print (group.head()) 替换为 print (group) 以查看整个数据集。
def print_groups(groupobject):
for name, group in groupobject:
print (name)
print (group.head())#Replace with print (group)