我正在使用pandas库,并拥有panel object的实例。我想找到等于0的元素数。我试着使用count
命令:
panel.count(0)
然而,这会返回轴0内的df数,我想找到面板中每个df 内的元素数等于零。有没有内置的命令来做到这一点?任何人都可以帮助我吗?
答案 0 :(得分:1)
您可以使用.sum()
(并且轴参数控制您要汇总的DataFrame切片):
In [11]: p = pd.Panel([[[1, 1]], [[1, 2]], [[1, 2]]])
In [12]: (p == 1).sum(axis=0)
Out[12]:
0 1
0 3 1
In [13]: (p == 1).sum(axis=1) # this is the default: .sum()
Out[13]:
0 1 2
0 1 1 1
1 1 0 0
In [14]: (p == 1).sum(axis=2)
Out[14]:
0 1 2
0 2 1 1
你可能想要总结一下这个系列(我不会想想你可以在一个部分做这个部分吗?):
In [15]: (p == 1).sum(axis=0).sum(axis=0)
Out[15]:
0 3
1 1
dtype: int64
要查找等于0的项目总数,我使用np.sum
(尽管您可以执行.sum().sum().sum()
):
In [21]: np.sum((p == 1).values)
Out[21]: 4
注意:这里需要.values。