如何修复:ValueError:以10为底的long()无效文字

时间:2019-04-27 18:52:26

标签: python-2.7

我正在尝试获取混合数据类型(整数,浮点数,字符串)的numpy数组:

import numpy as np
l1=['car',10,4.5]
arr=np.array(l1, dtype='|S5, i4, f8')

我收到此错误:

ValueError: invalid literal for long() with base 10: 'car'

请帮助 预先感谢。

1 个答案:

答案 0 :(得分:0)

这有效:

import numpy as np

l1= [('car',10,4.5),('train',1000,5000)]
arr=np.array(l1, dtype='|S5,i4,f8')

print(arr) 

输出:

[('car',   10, 4.5e+00) ('train', 1000, 5.0e+03)]

您需要将每个行作为元组放在列表中,这样它才能工作。仅适用于汽车:

l1= [('car',10,4.5), ]
arr=np.array(l1, dtype='|S5,i4,f8')