首页 > 解决方案 > 使用熊猫我如何将一个数据帧拆分为多个大小为 N 的数据帧

问题描述

我有一个包含几千行的 csv 文件。我加载了一个文件并将其转换为 pandas 数据框,但我希望每 12 行拆分一次文件并将其存储为数据框列表。我该怎么做呢?

EVALUATION_FILE = 'training/evaluation.csv'

data = pd.read_csv(
    EVALUATION_FILE,
    engine='python',
    index_col=None
)

我像这样加载我的文件,但我希望更改它,以便它每 12 行拆分并附加到一个列表中。我该怎么做?

标签: pythonpandas

解决方案


chunksize

使用此参数时,read_csv返回一个迭代器,其中每次迭代都返回一个新块。

data = [*pd.read_csv(EVALUATION_FILE, chunksize=12)]

numpy.split

如果碰巧您已经读过数据框并且想要在事后拆分它。nupmy.split与定义分割点的数组一起使用。

data = np.split(df, range(12, len(df), 12))

推荐阅读