更快的迭代CSV行的方法?

我有一个近28,000行x785列的CSV文件。我需要 1).将列分离出来。header,2)将每行的第一列放入一个 labels 将每行剩余的784列变成一个28×28的矩阵,并将它们追加到我的 images 数组的值转换为浮点数后。

有没有更快的方法来迭代我的CSV?

    images = np.array([])
    labels = np.array([])

    with open(filename) as training_file:
        reader = csv.reader(training_file, delimiter=',')
        header = np.array(next(reader))

        for row in reader:
            label = row[0] # get each row's label

            pixels = row[1:785] # get pixel values of each row
            pixels = np.array(pixels).astype(float) # transform pixel values to floats
            pixels = pixels.reshape(28,28) # turn into 28x28 matrix

            labels = np.append(labels, np.array(label)) # append to labels array
            images = np.append(images, np.array(pixels)) # append to images array

解决方案:

你会使用 pandas 来读取你的csv文件。

import pandas as pd
csv_file = pd.read_csv('file.csv')

列的访问方式是 csv_file.name.

根据数据大小,你可以通过分块读取文件。

import pandas as pd
csv_file = pd.read_csv('file.csv', chunksize=1)

总之,读到的是 大熊猫文件 我认为这是最好的办法

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在静态中使用getString()?

2022-9-8 13:12:41

未分类

如何在realitykit中为CollisionGroup添加实体?

2022-9-8 13:23:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索