gpt4 book ai didi

python - numpy.memmap 用于字符串数组?

转载 作者:太空狗 更新时间:2023-10-30 02:49:55 24 4
gpt4 key购买 nike

是否可以使用 numpy.memmap将基于磁盘的大型字符串数组映射到内存中?

我知道它可以用于 float 等,但这个问题专门针对字符串。

我对固定长度和可变长度字符串的解决方案都很感兴趣。

解决方案可以自由指定任何合理的文件格式。

最佳答案

如果所有的字符串都具有相同的长度,正如术语“数组”所暗示的那样,这很容易实现:

a = numpy.memmap("data", dtype="S10")

将是长度为 10 的字符串的示例。

编辑:由于显然字符串的长度不同,您需要索引文件以允许 O(1) 项访问。这需要读取整个文件一次并将所有字符串的起始索引存储在内存中。不幸的是,我认为如果不先在内存中创建一个与文件大小相同的数组,就没有一种纯粹的 NumPy 索引方式。不过,可以在提取索引后删除此数组。

关于python - numpy.memmap 用于字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5896747/

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