gpt4 book ai didi

python - 使用 numpy genfromtxt 读取每第 n 行的最快方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:10:06 26 4
gpt4 key购买 nike

我用 numpy 的 genfromtxt 读取我的数据:

import numpy as np
measurement = np.genfromtxt('measurementProfile2.txt', delimiter=None, dtype=None, skip_header=4, skip_footer=2, usecols=(3,0,2))
rows, columns = np.shape(measurement)
x=np.zeros((rows, 1), dtype=measurement.dtype)
x[:]=394
measurement = np.hstack((measurement, x))
np.savetxt('measurementProfileFormatted.txt',measurement)

这很好用。但我只想要最终输出文件中的 5-th6-th(所以 n-th)行。根据numpy.genfromtxt.html没有参数可以做到这一点。我不想迭代数组。有推荐的方法来处理这个问题吗?

最佳答案

为避免读取整个数组,您可以将 np.genfromtxtitertools.islice 结合使用以跳过行。这比读取整个数组然后切片要快一些(至少对于我尝试过的较小数组而言)。

例如,file.txt 的内容如下:

12
34
22
17
41
28
62
71

然后举例:

>>> import itertools
>>> with open('file.txt') as f_in:
x = np.genfromtxt(itertools.islice(f_in, 0, None, 3), dtype=int)

返回一个数组x,其中包含上述文件的036 索引元素:

array([12, 17, 62])

关于python - 使用 numpy genfromtxt 读取每第 n 行的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27961782/

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