【问题标题】:How to fix: ValueError: invalid literal for long() with base 10如何修复:ValueError:long() 以 10 为底的无效文字
【发布时间】:2023-04-03 19:18:01
【问题描述】:

我正在尝试获取混合数据类型(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'

请帮忙 提前致谢。

【问题讨论】:

    标签: python-2.7


    【解决方案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')
    

    【讨论】:

      猜你喜欢
      • 2020-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多