numpy.core.records.fromstring #

核心.记录。fromstring ( datastring , dtype = None , shape = None , offset = 0 , formats = None ,名称= None , titles = None , aligned = False , byteorder = None ) [来源] #

从二进制数据创建记录数组

请注意,尽管此函数的名称如此,但它不接受str 实例。

参数
类似数据串字节

二进制数据缓冲区

dtype数据类型,可选

所有数组的有效数据类型

shape int 或整数元组,可选

每个阵列的形状。

偏移量int,可选

缓冲区中开始读取的位置。

格式、名称、标题、对齐、字节顺序

如果dtypeNone,则将这些参数传递给 numpy.format_parser构造数据类型。请参阅该函数以获取详细文档。

返回
np.recararray

将数组视图记录到数据字符串中的数据中。如果数据字符串是只读的,这将是只读的。

也可以看看

numpy.frombuffer

例子

>>> 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', '<U10'), ('Marks', '<f8'), ('GradeLevel', '<i4')])
>>> 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'