gpt4 book ai didi

python - 如何使用 NumPy 将整数向量转换为二进制表示的矩阵?

转载 作者:行者123 更新时间:2023-12-03 20:49:55 26 4
gpt4 key购买 nike

假设我有以下数组:

import numpy as np
I = np.array([0, 1, 2, 3, 15, 16, 32, 64, 128])
我想将数组中的每个项目转换为其二进制表示。
所需输出:
[[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 1]
[0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 1 1]
[0 0 0 0 1 1 1 1]
[0 0 0 1 0 0 0 0]
[0 0 1 0 0 0 0 0]
[0 1 0 0 0 0 0 0]
[1 0 0 0 0 0 0 0]]
什么是最直接的方法来做到这一点?
谢谢!

最佳答案

有很多方法可以实现这一点。
一种方法:

# Your array
I = np.array([0, 1, 2, 3, 15, 16, 32, 64, 128])

B = ((I.reshape(-1,1) & (2**np.arange(8))) != 0).astype(int)
print(B[:,::-1])
您也可以这样做:
I = np.array([0, 1, 2, 3, 15, 16, 32, 64, 128], dtype=np.uint8)
print(np.unpackbits(I[:, np.newaxis], axis=1))
我个人会推荐第一种方法!
干杯!

关于python - 如何使用 NumPy 将整数向量转换为二进制表示的矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63407767/

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