假设有一个数据框df,需要按照优先级p1, p2, p3的顺序拆分为三个数据框,并且要求每个数据框的行数分别为n1, n2, n3。
可以使用pandas库中的groupby()方法结合numpy库中的split()方法实现。具体步骤如下:
df = df.sort_values(['priority'], ascending=False)
n1 = ...
n2 = ...
n3 = ...
bounds = np.cumsum([0, n1, n2, n3])
groups = df.groupby('priority')
dfs = [groups.apply(lambda x: x.iloc[bounds[i]:bounds[i+1]]) for i in range(len(bounds)-1)]
最终,dfs中包含了按照优先级和特定行数拆分后的三个数据框。
上一篇:按照邮件行分割后的星期排序
下一篇:按照优先级在Nunit中运行类