Zew*_*ewo 5 python binary numpy
使用以下代码我尝试将数字列表转换为二进制数但出现错误
import numpy as np
lis=np.array([1,2,3,4,5,6,7,8,9])
a=np.binary_repr(lis,width=32)
Run Code Online (Sandbox Code Playgroud)
运行程序后的错误是
回溯(最近一次调用最后一次):
文件“”,第 4 行,在 a=np.binary_repr(lis,width=32) 中
文件“C:\Users.......”,在 binary_repr 中,如果 num == 0:
ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
有任何解决这个问题的方法吗?
您可以使用它np.vectorize来克服这个问题。
>>> lis=np.array([1,2,3,4,5,6,7,8,9])
>>> a=np.binary_repr(lis,width=32)
>>> binary_repr_vec = np.vectorize(np.binary_repr)
>>> binary_repr_vec(lis, width=32)
array(['00000000000000000000000000000001',
'00000000000000000000000000000010',
'00000000000000000000000000000011',
'00000000000000000000000000000100',
'00000000000000000000000000000101',
'00000000000000000000000000000110',
'00000000000000000000000000000111',
'00000000000000000000000000001000',
'00000000000000000000000000001001'], dtype='<U32')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2488 次 |
| 最近记录: |