【发布时间】:2015-08-11 23:06:05
【问题描述】:
当我使用时:
w = y.groupby['A'].size()
它给了我列 A 的列值,然后是它旁边分组的大小。 使用 w ( a Series ),如何分别打印分组的名称? 分组的值可以通过:
for i in w :
print(i)
但我不知道如何获取名称。
【问题讨论】:
标签: python database python-3.x pandas
当我使用时:
w = y.groupby['A'].size()
它给了我列 A 的列值,然后是它旁边分组的大小。 使用 w ( a Series ),如何分别打印分组的名称? 分组的值可以通过:
for i in w :
print(i)
但我不知道如何获取名称。
【问题讨论】:
标签: python database python-3.x pandas
您可以使用 iteritems() 迭代系列
In [100]: for index, val in w.iteritems():
.....: print index, val
.....:
其中,index 有列名,val 值/大小
【讨论】:
系列的index 成员是“名称”,所以:
for name, val in w.index:
print name
将遍历名称。对于两者,您都可以使用
import itertools
for name, val in itertools.izip(w.index, w):
print name, val
【讨论】:
zip。
在 python 3 中,以下工作正常:
In [31]:
df = pd.DataFrame({"A":["a","b","c","a"]})
w = df.groupby('A').size()
w
Out[31]:
A
a 2
b 1
c 1
dtype: int64
In [61]:
for i,r in w.items():
print(i,r)
a 2
b 1
c 1
iterkv 也是如此:
In [62]:
for i,r in w.iterkv():
print(i,r)
a 2
b 1
c 1
然而,可移植的方法(也适用于 python 2)是使用iteritems
【讨论】: