非常大的CSV文件如何将某些行读取到数据帧中

2024-05-21 00:29:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常大的csv文件,无法使用pandas read_csv加载到我的计算机内存中

我看dask.dataframe as dd

我需要使用dask从csv文件中只读取特定列的特定行,并将其存储为熊猫数据帧

例如:

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

如何使用dask仅读取用户C的行和列ProductA?

作为数据帧的所需输出:

User  ProductA
C     3

Tags: 文件csv数据内存用户dataframepandasread
1条回答
网友
1楼 · 发布于 2024-05-21 00:29:22

您可以使用dask.dataframeread_csv函数,过滤并将df转换为数据帧:

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()

相关问题 更多 >