Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类型错误:不可损坏的类型:';numpy.ndarray和#x27;在将元组转换为集合时_Python_Numpy - Fatal编程技术网

Python 类型错误:不可损坏的类型:';numpy.ndarray和#x27;在将元组转换为集合时

Python 类型错误:不可损坏的类型:';numpy.ndarray和#x27;在将元组转换为集合时,python,numpy,Python,Numpy,x和y是numpy阵列,大小为: x、 形状=(567、128、16)和 y、 形状=(567,1) TypeError出现在以下行中: data_xy = tuple([x, y]) TypeError:Unshable类型:“numpy.ndarray”您不能散列numpy数组,因为它是可变的。集合是哈希表,要求其所有元素都是可哈希的 由于无法将set应用于数组的行,因此我建议改用np.unique: for data_class in sorted(set(data_xy[1])

x和y是numpy阵列,大小为: x、 形状=(567、128、16)和 y、 形状=(567,1)

TypeError出现在以下行中:

data_xy = tuple([x, y])

TypeError:Unshable类型:“numpy.ndarray”

您不能散列numpy数组,因为它是可变的。集合是哈希表,要求其所有元素都是可哈希的

由于无法将
set
应用于数组的行,因此我建议改用
np.unique

    for data_class in sorted(set(data_xy[1])):
一般来说,在numpy数组上运行
for
循环是您应该努力解决的问题,因为这通常是不必要的,并且会降低速度

另一种解决方案是为行创建一个可散列的包装类型,以便您可以在
集中使用它们。这将是相当缓慢的,不推荐,但可以用来说明这个概念:

s = np.unique(data_xy[1], axis=0)
s.sort()

for data_class in s:

不能散列numpy数组,因为它是可变的。集合是哈希表,要求其所有元素都是可哈希的

由于无法将
set
应用于数组的行,因此我建议改用
np.unique

    for data_class in sorted(set(data_xy[1])):
一般来说,在numpy数组上运行
for
循环是您应该努力解决的问题,因为这通常是不必要的,并且会降低速度

另一种解决方案是为行创建一个可散列的包装类型,以便您可以在
集中使用它们。这将是相当缓慢的,不推荐,但可以用来说明这个概念:

s = np.unique(data_xy[1], axis=0)
s.sort()

for data_class in s:

集合不能包含可变类型。见《巴尔德曼》。集合可以包含可变类型。它们不能包含不可损坏的类型。@balderman。我已经发布了一个关于如何在中解决此问题的示例fact@MadPhysicist谢谢将有一个外观。集合不能包含可变类型。见《巴尔德曼》。集合可以包含可变类型。它们不能包含不可损坏的类型。@balderman。我已经发布了一个关于如何在中解决此问题的示例fact@MadPhysicist谢谢我来看看。