【发布时间】:2019-08-16 14:04:09
【问题描述】:
我有 50 GB 数据的文件。我知道如何使用 Pandas 进行数据分析。
我只需要大的 1000 行或行,并且需要完整的 50 GB。
因此,我想到在read_csv() 中使用nrows 选项。
我写了这样的代码:
import pandas as pd
df = pd.read_csv("Analysis_of_50GB.csv",encoding="utf-16",nrows=1000,index_col=0)
但它占据了前 1000 行。我需要最后 100 行。所以我这样做并收到错误:
df = pd.read_csv("Analysis_of_50GB.csv",encoding="utf-16",nrows=-1000,index_col=0)
ValueError: 'nrows' must be an integer >=0
我什至尝试在read_csv() 中使用chunksize。但它仍然加载完整的文件。甚至输出也不是DataFrame,而是iterables。
因此,请告诉我在这种情况下我能做些什么。
请注意,我不想打开完整的文件...
【问题讨论】:
-
@SukumarRdjf 我不想加载整个文件。请在标记为重复之前仔细阅读问题。
-
您知道文件中行数或行长的近似值吗?
-
不,先生。我需要数一数。我想这是不可行的,因为我需要打开文件并计数。
-
@EdChum 它接近于stackoverflow.com/questions/17108250/… 的副本,但不是数据帧的最后一行!重点是不要将整个文件加载到数据框中......