Pandas的按位操作返回数字而不是bools?[英] Bitwise operations in Pandas that return numbers rather than bools?

本文是小编为大家收集整理的关于Pandas的按位操作返回数字而不是bools?的处理方法,想解了Pandas的按位操作返回数字而不是bools?的问题怎么解决?Pandas的按位操作返回数字而不是bools?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

问题

如何在Pandas中执行按位操作?

如何在整数上工作

在整数上,&运算符执行按位掩码

>>> mask = 0b1100  # 4 and 8 bits on
>>> 7 & mask
4

如何在Pandas

中工作

有些方法可以在熊猫中执行按位掩蔽操作吗? &运算符确实其他.

>>> df = DataFrame([1, 2, 3, 4, 5, 6, 7, 8], columns=['data'])
>>> df.data & mask
0    False
1    False
2    False
3     True
4     True
5     True
6     True
7     True
Name: data, dtype: bool

推荐答案

In [184]: df = pd.DataFrame([1, 2, 3, 4, 5, 6, 7, 8], columns=['data'])

In [185]: mask = 0b1100

In [186]: np.bitwise_and(df['data'], mask)
Out[186]: 
0    0
1    0
2    0
3    4
4    4
5    4
6    4
7    8
Name: data, dtype: int64

甚至返回一个系列 - 非常酷!

本文地址:https://www.itbaoku.cn/post/1727949.html