<p>我认为您需要<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.groupby.html" rel="nofollow noreferrer">^{<cd1>}</a>+<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.DataFrameGroupBy.agg.html" rel="nofollow noreferrer">^{<cd2>}</a>,然后<code>rename</code>列和最后<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.join.html" rel="nofollow noreferrer">^{<cd4>}</a>到原始<code>df</code>:</p>
<pre><code>df1 = df.groupby(['mdse_dept_ref_i','week_end_date'])['ABSError'].agg(['size','mean'])
d = {'size':'total', 'mean':'ABSError mean'}
df1 = df1.rename(columns=d)
print (df1)
total ABSError mean
mdse_dept_ref_i week_end_date
47 3/25/17 3 39.988728
80 3/25/17 1 1.791748
204 3/25/17 1 12975.863000
df = df.join(df1, on=['mdse_dept_ref_i','week_end_date'])
print (df)
mdse_item_i mdse_clas_i mdse_dept_ref_i actual_sls week_end_date \
0 19084539 30 47 0 3/25/17
1 19517957 43 47 3 3/25/17
2 19378250 0 204 1644 3/25/17
3 19704764 43 47 0 3/25/17
4 19119951 8 80 17 3/25/17
rnn_fcst_sls forecast_release_date ABSError total ABSError mean
0 48.520298 3/31/17 48.520298 3 39.988728
1 44.795605 3/31/17 41.795605 3 39.988728
2 14619.863000 3/31/17 12975.863000 1 12975.863000
3 29.650280 3/31/17 29.650280 3 39.988728
4 18.791748 3/31/17 1.791748 1 1.791748
</code></pre>