numpy.core.records.fromstring
numpy.core.records.fromstring(datastring, dtype=None, shape=None, offset=0, formats=None, names=None, titles=None, aligned=False, byteorder=None)[source]
根据二进制数据创建记录数组
请注意,尽管此函数具有名称,但它不接受str实例。参数 :datastring :bytes-like
二进制数据缓冲区
dtype :data-type, 可选
shape :int或int的tuple, 可选
每个数组的形状。
offset :int, 可选
在缓冲区中开始读取的位置。
formats, names, titles, aligned, byteorder:
如果dtype为None,
则将这些参数传递给numpy.format_parser以构造dtype。
有关详细文档,请参见该功能。
返回值 :np.recarray
将数组视图记录到数据字符串中的数据中。
如果数据字符串为只读,则它将为只读。
例子>>> a = b'\x01\x02\x03abc'
>>> np.core.records.fromstring(a, dtype='u1,u1,u1,S3')
rec.array([(1, 2, 3, b'abc')],
dtype=[('f0', 'u1'), ('f1', 'u1'), ('f2', 'u1'), ('f3', 'S3')])>>> grades_dtype = [('Name', (np.str_, 10)), ('Marks', np.float64),
... ('GradeLevel', np.int32)]
>>> grades_array = np.array([('Sam', 33.3, 3), ('Mike', 44.4, 5),
... ('Aadi', 66.6, 6)], dtype=grades_dtype)
>>> np.core.records.fromstring(grades_array.tobytes(), dtype=grades_dtype)
rec.array([('Sam', 33.3, 3), ('Mike', 44.4, 5), ('Aadi', 66.6, 6)],
dtype=[('Name', '>> s = '\x01\x02\x03abc'
>>> np.core.records.fromstring(s, dtype='u1,u1,u1,S3')
Traceback (most recent call last)
...
TypeError: a bytes-like object is required, not 'str'