在面板中搜索值

时间:2014-09-14 12:42:46

标签: python-3.x pandas

我正在使用pandas库,并拥有panel object的实例。我想找到等于0的元素数。我试着使用count命令:

panel.count(0)

然而,这会返回轴0内的df数,我想找到面板中每个df 内的元素数等于零。有没有内置的命令来做到这一点?任何人都可以帮助我吗?

1 个答案:

答案 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。