gpt4 book ai didi

python - 如何在 numpy 数组中存储带有尾随空值的二进制值?

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:39 24 4
gpt4 key购买 nike

我正在尝试将固定宽度的二进制数据存储在一个 numpy 数组中。但是,如果我的数据有尾随空值,它们就会被删除。如果我使用 void 类型,它们确实有效,但我想将它们保留为字节字符串。有办法做到这一点吗?

>>> import numpy as np

# Works
>>> varr = np.array([(b'abc\x00\x00',), (b'de\x00\x00\x00',)], dtype='V5')
[[[97 98 99 0 0]]
[[100 101 0 0 0]]]

# Strips nulls
>>> sarr = np.array([(b'abc\x00\x00',), (b'de\x00\x00\x00',)], dtype='S5')
[[b'abc']
[b'de']]

最佳答案

我突然意识到,我可以通过将类型指定为对象来避开 numpy 对字符串的处理。

>>> np.array([(b'abc\x00\x00',), (b'de\x00\x00\x00',)], dtype='O')
[[b'abc\x00\x00']
[b'de\x00\x00\x00']]

关于python - 如何在 numpy 数组中存储带有尾随空值的二进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38056642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com