Python 3.x 使用熊猫&引用;两个行为异常的布尔级数对象之间的运算符

Python 3.x 使用熊猫&引用;两个行为异常的布尔级数对象之间的运算符,python-3.x,pandas,dataframe,series,Python 3.x,Pandas,Dataframe,Series,我有两只大熊猫系列 In [32]: mask.shape Out[32]: (13919455,) In [33]: t.shape Out[33]: (13919455,) 两者都是布尔数组,mask仅为False,而t包含一些真值 In [28]: sum(mask) Out[28]: 0 In [29]: sum(t) Out[29]: 7724 我希望当我应用pandas或操作符时,我会得到7724的和,并且操作符是可交换的。 然而,我得到了以下结果: In [44]: sum

我有两只大熊猫系列

In [32]: mask.shape
Out[32]: (13919455,)

In [33]: t.shape
Out[33]: (13919455,)
两者都是布尔数组,mask仅为False,而t包含一些真值

In [28]: sum(mask)
Out[28]: 0

In [29]: sum(t)
Out[29]: 7724
我希望当我应用pandas或操作符时,我会得到7724的和,并且操作符是可交换的。 然而,我得到了以下结果:

In [44]: sum(mask|t)
Out[44]: 7565

In [45]: sum(t | mask)
Out[45]: 7724

这是一个bug吗?

我刚刚弄明白了这一点,这是熊猫必须做什么或如何操作的一个“特征”。 事实证明,我之前从“t”中删除了一些行,虽然它与另一个变量的大小相同,但它的索引稍大一些


使用Series.reset_index()将索引删除到默认值后,我得到了最初预期的结果。

两个pd.Series是否具有相同的索引值?我们都发现其中一个是正确的,有时这是一个困难的方法:)