我当前的数据集是
Month // MonthOnBook // ClickMonth // ClickRate
2017-05 23 4 14.982306
2017-05 23 18 19.253211
2017-05 23 22 19.793899
2017-06 22 3 20.346334
2017-06 22 5 22.545454
我希望新数据集类似于下面的
2017-05 23 1 0.00
2017-05 23 2 0.00
2017-05 23 3 0.00
2017-05 23 4 14.982306
2017-05 23 5 14.982306
2017-05 23 6 14.982306
....
2017-05 23 17 14.982306
2017-05 23 18 19.253211
2017-05 23 19 19.253211
...
2017-05 23 21 19.253211
2017-05 23 20 19.793899
2017-05 23 21 19.793899
....
2017-05 23 34 19.793899
2017-05 23 35 19.793899
下个月同样的事情,但是因为已经有22个月的书籍,会有22行......
我该怎么做?
非常感谢任何帮助或指南
答案 0 :(得分:1)
您可以插入多行,如下所示
pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
有关pandas dataframe append
的更多信息,请参阅此页面答案 1 :(得分:0)
您可以将reindex
与groupby
s=df.groupby('Month').apply(lambda x : x.set_index('ClickMonth').reindex(list(range(1,max(x['ClickMonth'])+1))).reset_index().ffill()).reset_index(drop=True)
s.Month=s.Month.bfill();s.MonthOnBook=s.MonthOnBook.bfill();s.fillna(0,inplace=True)
s
Out[606]:
ClickMonth Month MonthOnBook ClickRate
0 1 2017-05 23.0 0.000000
1 2 2017-05 23.0 0.000000
2 3 2017-05 23.0 0.000000
3 4 2017-05 23.0 14.982306
4 5 2017-05 23.0 14.982306
5 6 2017-05 23.0 14.982306
6 7 2017-05 23.0 14.982306
7 8 2017-05 23.0 14.982306
8 9 2017-05 23.0 14.982306
9 10 2017-05 23.0 14.982306
10 11 2017-05 23.0 14.982306
11 12 2017-05 23.0 14.982306
12 13 2017-05 23.0 14.982306
13 14 2017-05 23.0 14.982306
14 15 2017-05 23.0 14.982306
15 16 2017-05 23.0 14.982306
16 17 2017-05 23.0 14.982306
17 18 2017-05 23.0 19.253211
18 19 2017-05 23.0 19.253211
19 20 2017-05 23.0 19.253211
20 21 2017-05 23.0 19.253211
21 22 2017-05 23.0 19.793899
22 1 2017-06 22.0 0.000000
23 2 2017-06 22.0 0.000000
24 3 2017-06 22.0 20.346334
25 4 2017-06 22.0 20.346334
26 5 2017-06 22.0 22.545454