一、
TypeError: ‘range’ object doesn’t support item deletion
原因:
python3中range不返回数组对象,而是返回range对象。
修改:
将dataIndex = range(col);替换为dataIndex= list(range(50));
二、
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
原因:
用 == 号判断二者元素是否完全相等,会返回一个包含True,False的数组
if position == pos:
cc = np.fft.irfft(R / np.abs(R), n=(interp * n))
修改:
使用all或者any,all表示全部相等时返回True,any表示存在一个数相等时返回True
all(position == pos)
any(position == pos)
三、
ValueError: operands could not be broadcast together with shapes (35,) (965,)
原因:
进行矩阵运算时两个矩阵的大小不匹配,无法进行运算
修改:
首先判断两个矩阵是否是因为前面代码的错误导致大小不对,如果是,则修改前面的代码,否则,按需要更改矩阵大小,使其能够进行需要的计算。
四、
TypeError: ufunc ‘bitwise_xor’ not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ‘‘safe’’
原因:
进行指数运算时使用了符号,而在python中表示xor。
for i in range(6):
R[0,i] = math.sqrt(MIC_POSITON[i,0]^2+MIC_POSITON[i,1]^2+MIC_POSITON[i,2]^2)
修改:
将^改为**
for i in range(6):
R[0,i] = math.sqrt(MIC_POSITON[i,0]**2+MIC_POSITON[i,1]**2+MIC_POSITON[i,2]**2)
五、
ValueError: X should be a square kernel matrix
原因:
仅当传递表示样本的成对相似性的(n_samples, n_samples)数据矩阵而不是传统的(n_samples, n_features)矩形数据矩阵时,才能使用kernel=‘precomputed’
修改:
从参数空间中删除’precomputed’
六、
ValueError: Found input variables with inconsistent numbers of samples: [1762, 50]
原因:
输入参数变量与样本数不一致:[1762, 50],
修改:
改变参数变量和样本数,使两者长度一致
七、
TypeError: list indices must be integers or slices, not str
原因:
进行列表索引的时候给了列表一个字符型的数据。
修改:
将字符型的列表索引改为整型。
八、
DeprecationWarning: “@coroutine” decorator is deprecated since Python 3.8, use “async def” instead
def hello():
原因:
用asyncio提供的@asyncio.coroutine可以把一个generator标记为coroutine类型,然后在coroutine内部用yield from调用另一个coroutine实现异步操作。
但是从Python 3.5开始引入了新的语法async和await,可以让coroutine的代码更简洁易读(抛弃了@asyncio.coroutine)。
@asyncio.coroutine
def hello():
print('%s: hello, world!' % threading.current_thread())
# 休眠不会阻塞主线程因为使用了异步I/O操作
# 注意有yield from才会等待休眠操作执行完成
yield from asyncio.sleep(2)
# asyncio.sleep(1)
# time.sleep(1)
print('%s: goodbye, world!' % threading.current_thread())
修改:
1.把@asyncio.coroutine替换为async;
2.把yield from替换为await。
async def hello():
print('%s: hello, world!' % threading.current_thread())
# 休眠不会阻塞主线程因为使用了异步I/O操作
# 注意有yield from才会等待休眠操作执行完成
await asyncio.sleep(2)
# asyncio.sleep(1)
# time.sleep(1)
print('%s: goodbye, world!' % threading.current_thread())
一、
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-u4kjpz2z\opencv\modules\core\src\arithm.cpp:650
上述错误可能有以下几种情况
import cv2
image = cv2.imdecode(np.fromfile('中文图片.png'), cv2.IMREAD_UNCHANGED)
写:
cv2.imencode('.png', image)[1].tofile('保存_中文图片.png')
当代码中存在图片的加减运算,并且图片大小不一致时会报错
修改:
根据需要修改图片大小,使用cv2.resize()函数。
二、
cv2.error: OpenCV(4.5.3) c:\users\runneradmin\appdata\local\temp\pip-req-build-u4kjpz2z\opencv\modules\imgproc\src\color.simd_helpers.hpp:92: error: (-2:Unspecified error) in function ‘__cdecl cv::impl::
anonymous-namespace'::CvtHelper
anonymous namespace’::Set<3,4,-1>,struct cv::impl::A0x5888afd4::Set<3,4,-1>,struct cv::impl::A0x5888afd4::Set<0,2,5>,2>::CvtHelper(const class cv::_InputArray &,const class cv::_OutputArray &,int)’
Invalid number of channels in input image:
‘VScn::contains(scn)’
where
‘scn’ is 2
原因:
显示的np矩阵是两通道的,不符合图片显示格式
修改:
出现两通道的矩阵大概率是原理性错误,需要找到矩阵生成的位置,进行修改。
三、
ValueError: setting an array element with a sequence.
原因:
1,数组拼接的时候行或者列个数不对齐
2,数据类型不一致
修改:
1,对于拼接不对齐的问题,指定行拼接或者列拼接:axis =0(行拼接,1为列拼接)
res1 = np.concatenate([A, b], axis=0)
2,对于类型不对的问题,统一数据类型,在拼接前就数据类型统一成完全一样的
result = ori.astype(float)