被困在这个无聊的问题上
country=['India','USA']
gdp=[22,33]
import numpy as np
a=np.column_stack((country,gdp))
array([['India', '22'],
['USA', '33']], dtype='<U11')
我有一个NDArray,我想找到第二列的最大值。我试过下面的方法
^{pr2}$它引发了以下错误:TypeError: cannot perform reduce with flexible type
尝试转换类型
datatype=([('country',np.str_,64),('gross',np.float32)])
new=np.array(a,dtype=datatype)
但是得到了下面的错误
could not convert string to float: 'India'.
考虑对混合类型使用
numpy
结构化数组。如果您显式地设置数据类型,则不会有任何问题。在对于
numpy
,这通常是必要的,当然也是明智的。在错误是由于数组中的字符串数据导致的,这使得数据类型为Unicode(由U11表示,即11个字符的Unicode)字符串。 如果希望以数字格式存储数据,请使用
structured arrays
。 但是,如果只想计算数值列的最大值,请使用根据特定列中数据的性质,您可以选择使用其他数值数据类型,如}。在
np.float
代替{相关问题 更多 >
编程相关推荐