numpy二进制数组转十进制

在 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

  •