gpt4 book ai didi

python - 对数据帧执行按位运算

转载 作者:行者123 更新时间:2023-11-28 22:47:11 24 4
gpt4 key购买 nike

我有一个像这样的 Pandas 数据框

In [7]:

XYZ

Out[7]:

0 8495872
1 8496128
2 8561408
3 8561664
4 8626944
5 8627200
6 8692736
7 8692992
8 8693248
9 8693504
10 8758016
11 8758272
12 8758528
13 8758784
14 8759040
15 8823296
16 8823552
17 8823808
18 8824064
19 8824320
20 8824576
21 8824832
22 8888832
23 8890112
Name: XYZ, dtype: int64

我想将这些值转换为 32 位二进制。我试过 XYZ.apply(bin) 函数,但它给出了这样的东西

0     0b100000011010001100000000
1 0b100000011010010000000000
2 0b100000101010001100000000
3 0b100000101010010000000000
...

前面有这个不需要的“0b”,输出是 24 位的。如何在前面没有“0b”部分的情况下将这些值转换为 32 位?

转换后,我将对这些值进行一些按位和/或运算,并生成一个新的数据帧。

最佳答案

如果您要操作这些位,则不需要先转换它们。只需在数据框的列上使用 bitwise_andbitwise_or numpy 函数:

In [14]: import numpy as np

In [15]: df['col']
Out[15]:
0 5302274
1 4767983
2 6158485
3 9807950
4 4360582
5 2156122
...

In [16]: np.bitwise_and(df['col'], 0b101010)
Out[16]:
0 2
1 42
2 0
3 10
4 2
5 10

Pandas 依赖于 numpy,因此您应该已经安装了它。

关于python - 对数据帧执行按位运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26609363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com