Очень большой файл CSV - Как читать только определенные строки в кадре данных - PullRequest
1 голос
/ 04 апреля 2020

У меня есть очень большой CSV-файл, который я не могу использовать pandas read_csv для загрузки в память моего компьютера.

Я смотрю на dask.dataframe as dd

Мне нужно использовать dask для чтения только определенные строки определенных столбцов из этого CSV-файла и сохраните его как panda dataframe.

Например:

User  ProductA  ProductB
A     1         2
B     2         3
C     3         1

Как прочитать строку только для пользователя C и столбец ProductA, использующий dask?

Требуемый вывод в качестве фрейма данных:

User  ProductA
C     3

1 Ответ

2 голосов
/ 04 апреля 2020

Вы можете использовать read_csv функцию dask.dataframe, фильтровать и затем преобразовать ваш df в pandas фрейм данных:

import dask.dataframe as dd
import pandas as pd

path2file = "yourpath.csv"
cols = ["User", "ProductA"]
# Be careful about the sep (check if it is ; or something else and add it to the
# function below as parameter if so
dataset = dd.read_csv(path2file, usecols=cols)
# Filter 
dataset = dataset.loc[dataset["User"]=="C"]), :]
dataset = dataset.compute()
...