Pandas中的按位操作会返回数字而非书籍吗?

时间:2014-03-06 17:17:10

标签: python pandas bit-manipulation

问题

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

&如何处理整数

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

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

&如何在Pandas中运作

有没有办法在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

1 个答案:

答案 0 :(得分:6)

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

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