【发布时间】:2022-06-29 23:44:33
【问题描述】:
我有一个数据框,我使用 groupby 函数根据每行的名称对其进行分组。然后我想将每个组减少到给定的大小。然后,我将这些组重新添加到数据库中以用于其他进程。目前我正在 for 循环中执行此操作,但这似乎效率很低。有没有一种方法可以让 pandas 更有效地做到这一点?
grouped = df.groupby(['NAME'])
total = grouped.ngroups
df_final = pd.DataFrame()
for name, group in grouped:
target_number_rows = 10
if len(group.index) > target_number_rows:
shortened = group[::int(len(group.index) / target_number_rows)]
df_final = pd.concat([df_final, shortened], ignore_index=True)
【问题讨论】:
标签: python pandas dataframe pandas-groupby