python 异常 ValueError setting an array element with a sequence

python 异常 ValueError: setting an array element with a sequence

错误原因是因为numpy数组中存在不同类型的数据,如果后来想把数据统一设为比如int32,int64,float32等类型是就出现这个异常错误

例子,我本来以为我的数据是

train_vector_X = [[ 9.00000000e+00  5.00000000e+00  0.00000000e+00  1.32000000e+02
   1.00000000e+00  2.00000000e+01  1.93000000e+02  4.00000000e+00
   2.00000000e+00  2.00000000e+00  9.00000000e+00  4.10000000e+01
   5.33699729e-02  3.95190626e-01  4.64685917e-01 -1.11193947e-01]]

但由于我合并数组出错,实际我得到的数据是

train_vector_X = [[ 9.00000000e+00  5.00000000e+00  0.00000000e+00  1.32000000e+02
   1.00000000e+00  2.00000000e+01  1.93000000e+02  4.00000000e+00
   array([ 2.00000000e+00  2.00000000e+00  9.00000000e+00  4.10000000e+01
   5.33699729e-02  3.95190626e-01  4.64685917e-01 -1.11193947e-01],dtype=float32)]

每条数据包括了一个数组 , 这样在使用train_vector_X.astype(‘float32’)的类型转换操作时就出错了

总的来说,numpy在使用类型转换时,要统一最里面一维的数据格式,如果包含数值和数组,或者字符串等不同类型的数据,就会报异常。

上一篇:幂等性


下一篇:UVa 1626 - Brackets sequence (区间dp)