相关疑难解决方法(0)

从文件中读取和存储任意字节长度的整数

我试图通过在 numpy 中进行解析/数据积累来加速我去年编写的二进制文件解析器。numpy 能够定义自定义数据结构并将数据从二进制文件中提取到它们中,这看起来像我需要的,除了这些文件中的某些字段是“非标准”长度(例如 6 字节)的无符号整数。由于我使用的是 Python 2.7,因此我制作了自己的 int.from_bytes 模拟版本来处理这些字段,但是如果有任何方法可以在 numpy 中将这些字段本地读取为整数,那显然会更快且更可取。

python numpy

5
推荐指数
1
解决办法
1088
查看次数

NumPy:3字节,6字节类型(又名uint24,uint48)

NumPy似乎缺乏对3字节和6字节类型的内置支持,aka uint24uint48.我有一个使用这些类型的大型数据集,并希望将其提供给numpy.我目前做什么(对于uint24):

import numpy as np
dt = np.dtype([('head', '<u2'), ('data', '<u2', (3,))])
# I would like to be able to write
#  dt = np.dtype([('head', '<u2'), ('data', '<u3', (2,))])
#  dt = np.dtype([('head', '<u2'), ('data', '<u6')])
a = np.memmap("filename", mode='r', dtype=dt)
# convert 3 x 2byte data to 2 x 3byte
# w1 is LSB, w3 is MSB
w1, w2, w3 = a['data'].swapaxes(0,1)
a2 = np.ndarray((2,a.size), dtype='u4')
# 3 LSB
a2[0] = w2 % 256
a2[0] …
Run Code Online (Sandbox Code Playgroud)

python numpy bigdata

5
推荐指数
1
解决办法
4126
查看次数

标签 统计

numpy ×2

python ×2

bigdata ×1