Python 3.x Python集合文本没有';无法在numpy唯一阵列上工作
我尝试使用Python 3.x Python集合文本没有';无法在numpy唯一阵列上工作,python-3.x,numpy,set,unique,Python 3.x,Numpy,Set,Unique,我尝试使用python在numpyunique上设置文本 import numpy as np # col_value_series is a series of strings # it doesn't run uniques = {np.unique(col_value_series)} # it works uniques = set(np.unique(col_value_series)) 我必须使用set而不是{}来获得一组唯一的值,那么有什么不同呢?它们不一样吗?不,它们不一样
python
在numpy
unique
上设置文本
import numpy as np
# col_value_series is a series of strings
# it doesn't run
uniques = {np.unique(col_value_series)}
# it works
uniques = set(np.unique(col_value_series))
我必须使用
set
而不是{}
来获得一组唯一的值,那么有什么不同呢?它们不一样吗?不,它们不一样
{np.unique(col_value_series)}
(或者,通常,{x}
)是一个元素集。要使其工作,元素x
必须是可散列[],而不是。考虑:
In [1]: import numpy as np
In [2]: {np.array([1])}
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-f73a363763ae> in <module>()
----> 1 {np.array([1])}
TypeError: unhashable type: 'numpy.ndarray'
不,它们不一样
{np.unique(col_value_series)}
(或者,通常,{x}
)是一个元素集。要使其工作,元素x
必须是可散列[],而不是。考虑:
In [1]: import numpy as np
In [2]: {np.array([1])}
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-f73a363763ae> in <module>()
----> 1 {np.array([1])}
TypeError: unhashable type: 'numpy.ndarray'