如何修复:ValueError:long() 以 10 为底的无效文字
Posted
技术标签:
【中文标题】如何修复:ValueError:long() 以 10 为底的无效文字【英文标题】:How to fix: ValueError: invalid literal for long() with base 10 【发布时间】:2019-09-16 22:12:16 【问题描述】:我正在尝试获取混合数据类型(int、float、string)的 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】:这行得通:
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')
【讨论】:
以上是关于如何修复:ValueError:long() 以 10 为底的无效文字的主要内容,如果未能解决你的问题,请参考以下文章
PythonException:从 UDF 引发异常:'ValueError:如何在 Databricks 中修复此错误?
如何修复 tensorflow 中的“ValueError:空训练数据”错误
如何修复:ValueError:解包的值太多(预期为 2)PCA