Группировка - правильная идея, но правильный метод - cumcount
:
>>> product_df['month_num'] = product_df.groupby('product_desc').cumcount()
>>> product_df
product_desc activity_month prod_count pct_ch month_num
0 product_a 2014-01-01 53 NaN 0
3 product_a 2014-02-01 52 -0.018868 1
6 product_a 2014-03-01 50 -0.038462 2
1 product_b 2014-01-01 44 NaN 0
4 product_b 2014-02-01 43 -0.022727 1
7 product_b 2014-03-01 41 -0.046512 2
2 product_c 2014-01-01 36 NaN 0
5 product_c 2014-02-01 35 -0.027778 1
8 product_c 2014-03-01 34 -0.028571 2
Если вы действительно хотите, чтобы это началось с 1, тогда просто сделайте это:
>>> product_df['month_num'] = product_df.groupby('product_desc').cumcount() + 1
product_desc activity_month prod_count pct_ch month_num
0 product_a 2014-01-01 53 NaN 1
3 product_a 2014-02-01 52 -0.018868 2
6 product_a 2014-03-01 50 -0.038462 3
1 product_b 2014-01-01 44 NaN 1
4 product_b 2014-02-01 43 -0.022727 2
7 product_b 2014-03-01 41 -0.046512 3
2 product_c 2014-01-01 36 NaN 1
5 product_c 2014-02-01 35 -0.027778 2
8 product_c 2014-03-01 34 -0.028571 3
Вы можете сделать это, прочитав Request.InputStream
[HttpPost]
public ActionResult SaveResponse()
{
string json;
using (var reader = new StreamReader(HttpContext.Request.InputStream))
{
json = reader.ReadToEnd();
}
return View("CallbackView");
}
или принять string
параметр, и связыватель модели сделает все за вас (но вы должны передать данные как json={json string}
) 116]
[HttpPost]
public ActionResult SaveResponse(string json)
{
return View("CallbackView");
}