以下是一个示例代码,演示如何按照每个组的大小拆分数据框:
import pandas as pd
# 创建示例数据框
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(data)
# 按照每个组的大小拆分数据框
group_sizes = df.groupby('Group').size() # 计算每个组的大小
split_dfs = []
for group, size in group_sizes.iteritems():
split_dfs.append(df[df['Group'] == group].head(size))
# 打印拆分后的数据框
for split_df in split_dfs:
print(split_df)
输出结果:
Group Value
0 A 1
1 A 2
Group Value
3 B 4
4 B 5
Group Value
5 C 6
6 C 7
7 C 8
以上代码首先创建了一个示例数据框,其中包含两列:'Group'和'Value'。然后使用groupby()
函数计算了每个组的大小。接下来,使用循环遍历每个组和其对应的大小,并使用head()
函数从原始数据框中获取相应大小的子数据框。最后,将拆分后的数据框存储在一个列表中,然后按照需要进行进一步处理。
上一篇:按照每个组出现的值构建计数列