1、错误描述
F:PyCharmWorkSpacecmnvenvScriptspython.exe F:/PyCharmWorkSpace/cmn/venv/numpys/A.py
[ True True True True]
F:/PyCharmWorkSpace/cmn/venv/numpys/A.py:7: DeprecationWarning: In future, it will be an error for 'np.bool_' scalars to be interpreted as an index
E = list(map(hex,A));
Traceback (most recent call last):
[1. 4. 6. 8.9]
File "F:/PyCharmWorkSpace/cmn/venv/numpys/A.py", line 15, in <module>
[1 4 6 8]
print(F.byteswap());
[ 72057594037927936 -1585267068834414592 -2372271103717408768]
[ 72057594037927936 -1585267068834414592 -2372271103717408768]
File "F:PyCharmWorkSpacecmnvenvlibsite-packages
umpycorearrayprint.py", line 1529, in _array_str_implementation
['0x1', '0x1', '0x1', '0x1']
return array2string(a, max_line_width, precision, suppress_small, ' ', "")
File "F:PyCharmWorkSpacecmnvenvlibsite-packages
umpycorearrayprint.py", line 700, in array2string
return _array2string(a, options, separator, prefix)
File "F:PyCharmWorkSpacecmnvenvlibsite-packages
umpycorearrayprint.py", line 472, in wrapper
return f(self, *args, **kwargs)
File "F:PyCharmWorkSpacecmnvenvlibsite-packages
umpycorearrayprint.py", line 505, in _array2string
lst = _formatArray(a, format_function, options['linewidth'],
File "F:PyCharmWorkSpacecmnvenvlibsite-packages
umpycorearrayprint.py", line 826, in _formatArray
return recurser(index=(),
File "F:PyCharmWorkSpacecmnvenvlibsite-packages
umpycorearrayprint.py", line 782, in recurser
word = recurser(index + (-i,), next_hanging_indent, next_width)
File "F:PyCharmWorkSpacecmnvenvlibsite-packages
umpycorearrayprint.py", line 736, in recurser
return format_function(a[index])
UnicodeDecodeError: 'utf-32-le' codec can't decode bytes in position 0-3: code point not in range(0x110000)
Process finished with exit code 1
2、错误原因
python语言中的numpy包,字符串数组不能交换,不然会报错
import numpy as np;
A = np.all([[1,2,3,4],[5,6,7,8]], axis=0);
B = np.array([1,4,6,8.9]);
C = np.array([1,234,5343], dtype=np.int64);
D = C.byteswap(inplace=True);
E = list(map(hex,A));
F = np.array(['yh','ui','ce','dh']);
print(A);
print(B);
print(B.astype(int));
print(C);
print(D);
print(E);
print(F.byteswap());
3、解决办法
在定义变量F时,调用np.array(),数组中的元素不能是字符串类型
import numpy as np;
A = np.all([[1,2,3,4],[5,6,7,8]], axis=0);
B = np.array([1,4,6,8.9]);
C = np.array([1,234,5343], dtype=np.int64);
D = C.byteswap(inplace=True);
E = list(map(hex,A));
F = np.array([23,45,67,32]);
print(A);
print(B);
print(B.astype(int));
print(C);
print(D);
print(E);
print(F.byteswap());