微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Pandas – df.size()错误:’numpy.int64’对象不可调用

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

df.size().unstack().plot(kind=barh)

但是我收到了这个错误

TypeError: 'numpy.int64' object is not callable

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

解决方法:

你需要在DataFrame.size中省略一个问题,但输出是标量,所以不可能调用unstack:

df.size

样品:

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

也许需要groupby GroupBy.size()

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐