【发布时间】:2018-06-10 03:44:21
【问题描述】:
>>> from io import StringIO
>>> import numpy as np
>>> s = StringIO("1,1.3,abcde")
>>> data = np.genfromtxt(s, dtype=[('myint','i8'),('myfloat','f8'),
... ('mystring','S5')], delimiter=",")
>>> data
array((1, 1.3, 'abcde'),
dtype=[('myint', '<i8'), ('myfloat', '<f8'), ('mystring', '|S5')])
我的问题与dtype 论点有关。
我无法理解dtype="i8,f8,|S5" 代表什么。
我可以看出 i 是整数,f 是浮点数,s 是字符串,但 i8 中的 8 是什么?我首先理解它的字节,但是 s5 怎么可能。
我了解 dtype 有助于指定数据类型,以便我们可以从 CSV 文件中读取,但有人可以对数据类型提供一些见解
【问题讨论】:
-
"i8,f8,|S5" 是您的
data显示显示的完整 dtype 的简写。<i8是一个 8 字节(64 位)整数,<f8是普通的float64。S5是一个 5 个字符的字节串。看data['myint'].dtype,孤立的第一个字段的dtype。
标签: python-3.x numpy genfromtxt