python-2.7 - 如何修复:ValueError:long() 以 10 为底的无效文字
问题描述
我正在尝试获取混合数据类型(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'
请帮助提前谢谢。
解决方案
这有效:
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')
推荐阅读
- c++ - 数组中的 C++ 等号运算符
- git - 将旧分支上的新提交合并到 dev
- google-apps-script - 从表单响应到另一个工作表的最后一行,并且能够在将来覆盖
- javascript - 在 safari ios 上禁用下拉以退出全屏模式
- .htaccess - 如何使用 htaccess 在 url 中使用最终的可选尾随斜杠消除对 txt 扩展的需要
- django - 'float' 和 'NoneType' 的实例之间不支持 Django '>'
- arrays - 如何将独立值绑定到数组中的字符串(Swift)?
- flutter - 从其他功能 Flutter Hook Widget 传递和更新状态值
- c# - NPOI CopyTo 不起作用并显示 NPOI.XSSF.UserModel.XSSFSheet.CopySheetImages 异常
- javascript - 下载base64编码文件