gpt4 book ai didi

python - 在将列表分配给 numpy 数组之前使用列表进行数据读取是否有效?

转载 作者:行者123 更新时间:2023-11-28 20:09:59 25 4
gpt4 key购买 nike

我有一个很大的 CSV 数据文件——大约 1,444,000 行数据——我正在读取它并将其转换为一个 numpy 数组。我阅读了 22 篇专栏中的三篇。这是我目前正在做的:

import numpy as np
import csv

fid = open('data.csv', 'r')
csvfile = csv.reader(fid, dialect='excel', delimiter=',')
csvfile.next() # to skip header

t = []
u = []
w = []
for line in csvfile:
t += [line[1]] # time
u += [line[-4]] # velocity x
w += [line[-2]] # velocity z
t = np.array(t, dtype='float')
u = np.array(u, dtype='float')
w = np.array(w, dtype='float')

所以我的问题是:这是否有效?我原本打算在循环中将新数据附加到现有的 numpy 数组,直到我读到每次都必须在内存中移动整个数组。

最佳答案

我会建议 numpy.loadtxt() .我没有将它用于 csv,但您可以将分隔符设置为“,”并仅检索您需要的列作为 numpy ndarray。

我怀疑以下方法可行:

# To load only columns 1 (time), 19 (velocity x), and 21 (velocity z).
numpy.loadtxt('data.csv', delimiter=',', usecols=(1,19,21))

关于python - 在将列表分配给 numpy 数组之前使用列表进行数据读取是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319117/

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