运行代码时出现错误。我收到的错误是:
Traceback (most recent call last):
File "/Users/penguin/PycharmProjects/Greatness/venv/Recipes.py", line
153, in <module>
newRatios = np.zeros(count,count)
TypeError: data type not understood
Process finished with exit code 1
我的代码是:
count1 = 0
count2 = 0
newRatios = np.zeros(count,count)
print(newRatios)
for ep in XDF['EmailPrefix']:
for ep2 in XDF['EmailPrefix']:
if count1 != count2:
newRatios[count1,count2] = fuzz.token_sort_ratio(ep,ep2)
else:
newRatios[count1,count2] = None
count2 += 1
count1 += 1
if(count1 == 2500):
print('Halfway')
print(newRatios)
变量数代表一个大约5000的整数。对不起,我只能给出代码段而不是整个文件,但是我不允许透露整个文件。
不太确定为什么会出现此错误,我尝试了几种不同的方法来设置numpy零数组和设置2D矩阵。请注意,我将numpy导入为np,因此这就是为什么将其称为np的原因。我正在使用python3,如果您还有其他建议来设置2D数组并比在这里更好地访问它,也将不胜感激。
答案 0 :(得分:1)
您需要传递一个元组。尝试np.zeros((count, count))
。
有关此方法的更多文档,请参见: https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html
答案 1 :(得分:0)
答案 2 :(得分:0)
np.zeros
接受iterable作为shape参数。您需要将参数传递为np.zeros((count,count))
。注意多余的括号。您当前正在做的是将count
作为shape
传入,然后再次作为数据类型传入count
。它无法识别count
表示的数据类型,因此会出错。