在 NumPy 中,您可以使用
numpy.packbits()
方法将二进制数组转换为 uint8 类型的整数数组,然后使用
numpy.unpackbits()
方法将其转换回二进制数组。例如,以下代码将二进制数组转换为十进制数组:
import numpy as np
# 创建一个二进制数组
binary_arr = np.array([1, 0, 0, 1, 1, 0, 1, 0], dtype=bool)
# 将二进制数组转换为 uint8 类型的整数数组
int_arr = np.packbits(binary_arr)
# 将整数数组转换回二进制数组
binary_arr2 = np.unpackbits(int_arr)
# 将二进制数组转换为十进制数组
decimal_arr = np.packbits(binary_arr2).astype(int)
print(decimal_arr)
输出结果为:
[154]
这表示二进制数组 [1, 0, 0, 1, 1, 0, 1, 0]
转换为十进制数 154
。