gpt4 book ai didi

python - Pandas - 读取 .csv 文件的结尾

转载 作者:行者123 更新时间:2023-12-03 20:20:32 25 4
gpt4 key购买 nike

我有一个大(8 GB)的 csv gzip 文件。我想通过 Pandas 将其读入 DataFrame。由于文件的长度很大,我分块读取它并且它工作正常但我很想知道是否有办法只读取最后 x 行而不解压缩整个文件。

最佳答案

我正在考虑读取数据帧最后一行的各种方法。由于我不确定我是否正确理解了“不解压缩整个文件”的意思,我想知道下面的任何选项是否对您感兴趣。

选项 1
使用 pandas.read_csv() 读取 .csv 文件时, 可以跳过行,因此它们不包含在导入中。
为此,在调用它时应该通过 skiprows=[x] ,其中 x 是要排除的行号(请注意,行编号类似于列表,从 0 开始)。

选项 2
另一种选择可能是将文件转换为 HDF5 并选择开始和停止。这是一个例子

import pandas as pd 
import numpy as np

df = pd.DataFrame({'Date' : np.random.randn(50000)},index=pd.date_range('20200528',periods=50000,freq='s'))

store = pd.HDFStore('example.h5', mode='w')

store.append('df', df)

rowsnumber = store.get_storer('df').nrows

store.select('df',start=nrows-5,stop=rowsnumber) #Change the start to the number of rows one wants to display starting from the end

选项 3
假设 df 已经与变量 df 相关联,为了读取最后 5 行,使用 df.iloc
rows = df.iloc[-5:]
df.tail
rows = df.tail(5)

关于python - Pandas - 读取 .csv 文件的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28798463/

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