加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python Pandas中,布尔操作

发布时间:2020-12-16 23:44:12 所属栏目:Python 来源:网络整理
导读:我正在两个系列上执行布尔运算.我期待布尔操作自动执行与同一索引相对应的操作.但它只是通过订单来做.这是预期的行为还是有一些不同的做法? 谢谢 bOut[47]: AEIS FalseAAPL TrueACFN FalseName: OldPosition,dtype: boolaOut[48]: AAPL TrueACFN FalseAEIS
我正在两个系列上执行布尔运算.我期待布尔操作自动执行与同一索引相对应的操作.但它只是通过订单来做.这是预期的行为还是有一些不同的做法?
谢谢
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读