gpt4 book ai didi

python - 如何迭代从 groupby().size() 生成的 Pandas 系列

转载 作者:IT老高 更新时间:2023-10-28 22:14:08 28 4
gpt4 key购买 nike

如何遍历 .groupby('...').size() 命令生成的 Pandas 系列并获取组名和组数。

例如,如果我有:

foo
-1 7
0 85
1 14
2 5

我如何循环它们,以便在每次迭代中我都会在变量中包含 -1 & 7、0 & 85、1 & 14 和 2 & 5?

我尝试了 enumerate 选项,但效果不佳。示例:

for i, row in enumerate(df.groupby(['foo']).size()):
print(i, row)

i 不返回 -1、0、1 和 2,而是返回 0、1、2、3。

最佳答案

更新:

给定一个 Pandas 系列:

s = pd.Series([1,2,3,4], index=['a', 'b', 'c', 'd'])

s
#a 1
#b 2
#c 3
#d 4
#dtype: int64

您可以直接循环遍历它,在每次迭代中从系列中产生一个值:

for i in s:
print(i)
1
2
3
4

如果你想同时访问索引,你可以使用 itemsiteritems 方法,它会生成一个包含索引和值的生成器:

for i, v in s.items():
print('index: ', i, 'value: ', v)
#index: a value: 1
#index: b value: 2
#index: c value: 3
#index: d value: 4

for i, v in s.iteritems():
print('index: ', i, 'value: ', v)
#index: a value: 1
#index: b value: 2
#index: c value: 3
#index: d value: 4

旧答案:

您可以在 Series 上调用 iteritems() 方法:

for i, row in df.groupby('a').size().iteritems():
print(i, row)

# 12 4
# 14 2

根据文档:

Series.iteritems()

Lazily iterate over (index, value) tuples

注意:这与问题中的数据不同,只是一个演示。

关于python - 如何迭代从 groupby().size() 生成的 Pandas 系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38387529/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com