首页 > 解决方案 > 在python中增量加载大数据

问题描述

我正在尝试在 python 中加载一个大型(250 万行)数据集。我加载这个数据集的方式是通过一个 API,它在每次调用中给我一大块数据。
问题是我无法将所有数据存储到内存中。理论上我可以创建一个大的 CSV 文件并将每个块的数据附加到这个文件中,然后将 pandas read_csv 与块一起使用,但我想避免自己实际将文件写入磁盘。

我想知道是否有任何方法可以使用 pandas/dask/其他任何东西来实现这一目标?也就是说,逐步构建一个大型数据框。

附件是显示我的问题的示例代码。

import pandas as pd


def get_session_features(session_id):  # this is the mock API function
    return {'session_id': session_id, 'features': list(range(session_id))}


def get_features_session_list(session_ids):
    all_features = []
    for session_id in session_ids:
        all_features.append(get_session_features(session_id))
    return all_features


features = pd.DataFrame(get_features_session_list(list(range(100))))  # in large numbers this will cause a memory error

标签: pythonpandasbigdata

解决方案


推荐阅读