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

在Python Pandas中,布尔操作

我正在两个系列上执行布尔运算.我期待布尔操作自动执行与同一索引相对应的操作.但它只是通过订单来做.这是预期的行为还是有一些不同的做法?
谢谢
b
Out[47]: 
AEIS    False
AAPL     True
ACFN    False
Name: OldPosition,dtype: bool

a
Out[48]: 
AAPL     True
ACFN    False
AEIS     True
dtype: bool

a&b
Out[50]: 
AAPL    False
ACFN    False
AEIS    False
dtype: bool

解决方法

对我来说这似乎是一个 bug
In [1]: a = pd.Series([True,False,True],list('bca'))

In [2]: b = pd.Series([False,True,False],list('abc'))

In [3]: a & b
Out[3]:
b    False
c    False
a    False
dtype: bool

解决方法之一是使用相同的索引重新索引:

In [4]: index = a.index | b.index

In [5]: a.reindex(index) & b.reindex(index)
Out[5]:
a    False
b     True
c    False
dtype: bool

原文地址:https://www.jb51.cc/python/242044.html

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

相关推荐