我有一个很大的CSV文件,我正在读取它,使用用户定义的输入“num\u rows”(行数)在部分块中,使用“chunksize”参数,它返回pandas.io.解析器.TextFileReader”对象,如下所示:
num_rows = int(input("Enter number of rows to be processed
chunk = pd.read_csv("large_file.csv", chunksize = number_of_rows)
for data_chunk in chunk:
# some processing
# Finally, write back results to Pandas DataFrame-
data_chunk["new_column"] = some_precalculated_value
然而,这种方法显然行不通。如何将块的结果写回原来的Pandas数据帧,在我的例子中,这个数据帧恰好是“大的”_文件.csv"? 你知道吗
谢谢!你知道吗
您所做的不会修改csv,因为每个
data_chunk
都没有链接到原始数据。您可以将每个
data_chunk
写入一个单独的csv文件要使用数据帧之类的大于内存的数据,可以使用dask。如果你做到了以上几点,那么你只需要做:
或者,您可以先用dask加载数据帧,然后用它进行计算。
它自动地将数据帧分割成分区,并以一种惰性的方式执行操作,就像它是一个普通的数据帧一样。你知道吗
相关问题 更多 >
编程相关推荐