在 Numpy 中从二进制数据创建记录数组
numpyserver side programmingprogramming
要从二进制数据创建记录数组,请使用 Python Numpy 中的 numpy.core.records.fromstring() 方法。我们对二进制数据使用了 tobytes() 方法。
第一个参数是数据字符串,即二进制数据的缓冲区。该函数返回数据字符串中数据的记录数组视图。如果数据字符串是只读的,则它将是只读的。offset 参数是缓冲区中开始读取的位置。参数formats、names、titles、aligned、byteorder,如果dtype为None,这些参数会传递给numpy.format_parser构造dtype。
步骤
首先,导入所需的库 −
import numpy as np
设置数组类型 −
my_type = [('Team', (np.str_, 10)), ('Points', np.float64),('Rank', np.int32)]
显示数组 −
print("记录数组类型...
",my_type)
使用 numpy.array() 方法 − 创建数组
arr = np.array([('AUS', 115, 5), ('NZ', 125, 3),('IND', 150, 1)], dtype=my_type)
显示数组 −
print("
数组...
",arr)
要从二进制数据创建记录数组,请使用 numpy.core.records.fromstring() 方法。我们 已使用 tobytes() 方法对二进制数据进行减法;
rec = np.core.records.fromstring(arr.tobytes(), dtype=my_type) print("
记录数组...
",rec)
示例
import numpy as np # 设置数组类型 my_type = [('Team', (np.str_, 10)), ('Points', np.float64),('Rank', np.int32)] # 显示类型 print("记录数组类型...
",my_type) # 创建数组使用 numpy.array() 方法 arr = np.array([('AUS', 115, 5), ('NZ', 125, 3),('IND', 150, 1)], dtype=my_type) # 显示数组 print("
数组...
",arr) # 要从二进制数据创建记录数组,请使用 Python Numpy 中的 numpy.core.records.fromstring() 方法 # 我们对二进制数据使用了 tobytes() 方法 rec = np.core.records.fromstring(arr.tobytes(), dtype=my_type) print("
记录数组...
",rec)
输出
记录数组类型... [('Team', (<class 'numpy.str_'>, 10)), ('Points', <class 'numpy.float64'>), ('Rank', <class 'numpy.int32'>)] 数组... [('AUS', 115., 5) ('NZ', 125., 3) ('IND', 150., 1)] 记录数组... [('AUS', 115., 5) ('NZ', 125., 3) ('IND', 150., 1)]