熊猫-df.size()错误:“ numpy.int64”对象不可调用

Sha*_*din 5 python dataframe pandas

使用大熊猫,我试图使用以下方法绘制一些数据:

df.size().unstack().plot(kind=barh)
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

TypeError: 'numpy.int64' object is not callable
Run Code Online (Sandbox Code Playgroud)

然后我df.size()只尝试了并且得到了同样的错误。现在我不确定是什么原因造成的,因为根据文档,它DataFrame.size()应该可以正常工作。任何的想法?

jez*_*ael 5

有一个问题需要省略()DataFrame.size但输出是标量,因此不可能调用unstack

df.size
Run Code Online (Sandbox Code Playgroud)

样本:

df = pd.DataFrame({'A':list('abcdef'),
                   'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4],
                   'F':list('aaabbb')})

print (df)
   A  B  C  D  E  F
0  a  4  7  1  5  a
1  b  5  8  3  3  a
2  c  4  9  5  6  a
3  d  5  4  7  9  b
4  e  5  2  1  2  b
5  f  4  3  0  4  b

a = df.size
print (a)
36
Run Code Online (Sandbox Code Playgroud)

也许需要groupby+ GroupBy.size()

df1 = df.groupby(['F', 'B']).size().unstack()
print (df1)
B  4  5
F      
a  2  1
b  1  2
Run Code Online (Sandbox Code Playgroud)