2015-05-29 63 views
3

當我使用:熊貓:打印的名稱和值在系列

w = y.groupby['A'].size() 

它給了我A列的列值,然後它旁邊的分組的大小。 使用w(系列),我該如何分別打印分組名稱? 分組的值可以通過以下方式得到:

for i in w : 
    print(i) 

但我無法弄清楚如何獲得的名稱。

回答

4

可以使用iteritems()

In [100]: for index, val in w.iteritems(): 
    .....:  print index, val 
    .....: 

其中,index有列名和val值/大小

2

一系列的index成員是 「名」,所以:

for name, val in w.index: 
    print name 

會遍歷名稱。對於這兩種,你可以使用

import itertools 

for name, val in itertools.izip(w.index, w): 
    print name, val 
+0

AttributeError的: '模塊' 對象有沒有屬性 'izip' –

+0

在你的Python版本取決於,這可能是''zip''。 –

1

在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