Python 如何从numpy结构化数组中*实际*删除列(以便它不会在二进制文件中显示)

Python 如何从numpy结构化数组中*实际*删除列(以便它不会在二进制文件中显示),python,numpy,multidimensional-array,numpy-slicing,structured-array,Python,Numpy,Multidimensional Array,Numpy Slicing,Structured Array,我有一个从二进制文件加载的结构化数组 In [85]: dx = np.dtype([('op', '<u8'), ('me', '<u8'), ('gw', '<u8'), ('md', '<u8'), ('tt', '<u8'), ('bb', '<u8'), ('en', '<u8'), ('ab', '<u8'), ('st', 'u1')]) In [86]: s = np.fromfile("somefile.bin", dtype=

我有一个从二进制文件加载的结构化数组

In [85]: dx = np.dtype([('op', '<u8'), ('me', '<u8'), ('gw', '<u8'), ('md', '<u8'), ('tt', '<u8'), ('bb', '<u8'), ('en', '<u8'), ('ab', '<u8'), ('st', 'u1')])

In [86]: s = np.fromfile("somefile.bin", dtype=dx)

In [87]: s
Out[87]:
array([(1574647200000000000, 1574647200000000000, 1574647200000000000, 1574647200000000000, 1574647200000000000, 1574647200000000000, 19374, 9223372036854775808, 0)],
      dtype=[('op', '<u8'), ('me', '<u8'), ('gw', '<u8'), ('md', '<u8'), ('tt', '<u8'), ('bb', '<u8'), ('en', '<u8'), ('ab', '<u8'), ('st', 'u1')])

[85]中的
:dx=np.dtype([('op','使用
重新打包字段
生成仅包含所需字段的副本:


从1.16开始,多字段索引生成一个保留源布局的视图。在多个版本中,更改正在进行中。使用
repack_fields
生成一个仅包含所需字段的副本:。从1.16开始,多字段索引生成一个保留源布局的
视图这些作品,断断续续地在几个版本中发布。@hpaulj:这是一个答案!@hpaulj谢谢。这就是解决方案。如果你把你的评论变成一个答案,那将是一件好事!为了未来的人们;
In [88]: x = s[['op', 'st']]

In [89]: x
Out[89]:
array([(1574647200000000000, 0)],
      dtype={'names':['op','st'], 'formats':['<u8','u1'], 'offsets':[0,64], 'itemsize':65})

In [90]: x.tofile("updated.bin")