<p>您的数据:</p>
<pre><code>df = pd.DataFrame({'order':['A', 'B', 'C', 'D', 'E', 'F'],'quantity':[1,1,2,3,3,4]})
</code></pre>
<p>解决方案:</p>
<pre><code>df = pd.DataFrame(np.concatenate(df.apply(lambda x: [x[0]] * x[1], 1).as_matrix()),
columns=['order'])
df['quantity'] = 1
df['group'] = sorted(range(0, len(df)/3, 1) * 4)[0:len(df)]
</code></pre>
<p>输出:</p>
<pre><code> order quantity group
0 A 1 0
1 B 1 0
2 C 1 0
3 C 1 0
4 D 1 1
5 D 1 1
6 D 1 1
7 E 1 1
8 E 1 2
9 E 1 2
10 F 1 2
11 F 1 2
12 F 1 3
13 F 1 3
</code></pre>
<p>然后是groupby和sum。你知道吗</p>
<pre><code>df.groupby(['group', 'order']).sum()
</code></pre>
<p>输出:</p>
<pre><code> quantity
group order
0 A 1
B 1
C 2
1 D 3
E 1
2 E 2
F 2
3 F 2
</code></pre>
<p>如果需要,可以在此之后使用reset\u index()。你知道吗</p>
<p>希望对你有帮助。你知道吗</p>
<p>我应该解释一下解决方法吗?对你有用吗?你知道吗</p>