如何将一个数据帧内的总行分成相等的存储桶,再分成另一个数据帧

问题描述 投票:0回答:1

我有一个具有10333条记录的数据框df

df.shape[0]
10333

我想平均分割记录,然后平均写入其他四个数据帧。这怎么办。

 df1.shape[0] =2853
 df2.shape[0] =2853
 df3.shape[0] =2853
 df4.shape[0] =2854

如何完成。我正在寻找解决方案,根据记录中提到的存储桶数平均分配记录。

python pandas dataframe
1个回答
0
投票

这是tile的解决方案:

ll = len(df)
groups = np.tile(np.arange(4), ll)[:ll]

dfs = {k:v for k,v in df.groupby(groups)}

len(dfs), len(dfs[0])
# (4, 2584)
# so the lengths of dataframes are 2854, 2853, 2853, 2853
© www.soinside.com 2019 - 2024. All rights reserved.