【发布时间】:2016-07-25 16:05:23
【问题描述】:
我是 python 新手并使用数据框。我有两个数据框,一个包含几个月的数据,另一个包含那几个月的数据。我希望将每月数据框中的数据作为每日数据框中的一列,重复该月的天数。谢谢,我已经尝试在下面提供一个插图。
Monthly DF
Val Date Year Month
0 0.00 2016-01-31 2016 1
1 0.10 2016-02-29 2016 2
2 0.07 2016-03-31 2016 3
3 0.01 2016-04-30 2016 4
4 0.28 2016-05-31 2016 5
DailyDF
Date Year Month Val
0 2016-01-01 2016 1 0
1 2016-01-02 2016 1 0
2 2016-01-03 2016 1 0
3 2016-01-04 2016 1 0
4 2016-01-05 2016 1 0
5 2016-01-06 2016 1 0
6 2016-01-07 2016 1 0
7 2016-01-08 2016 1 0
8 2016-01-09 2016 1 0
9 2016-01-10 2016 1 0
10 2016-01-11 2016 1 0
11 2016-01-12 2016 1 0
12 2016-01-13 2016 1 0
13 2016-01-14 2016 1 0
14 2016-01-15 2016 1 0
15 2016-01-16 2016 1 0
16 2016-01-17 2016 1 0
17 2016-01-18 2016 1 0
18 2016-01-19 2016 1 0
19 2016-01-20 2016 1 0
20 2016-01-21 2016 1 0
21 2016-01-22 2016 1 0
22 2016-01-23 2016 1 0
23 2016-01-24 2016 1 0
24 2016-01-25 2016 1 0
25 2016-01-26 2016 1 0
26 2016-01-27 2016 1 0
27 2016-01-28 2016 1 0
28 2016-01-29 2016 1 0
29 2016-01-30 2016 1 0
.. ... ... ... ...
31 2016-02-01 2016 2 0
32 2016-02-02 2016 2 0
33 2016-02-03 2016 2 0
34 2016-02-04 2016 2 0
35 2016-02-05 2016 2 0
36 2016-02-06 2016 2 0
37 2016-02-07 2016 2 0
38 2016-02-08 2016 2 0
39 2016-02-09 2016 2 0
40 2016-02-10 2016 2 0
41 2016-02-11 2016 2 0
42 2016-02-12 2016 2 0
43 2016-02-13 2016 2 0
44 2016-02-14 2016 2 0
45 2016-02-15 2016 2 0
46 2016-02-16 2016 2 0
47 2016-02-17 2016 2 0
48 2016-02-18 2016 2 0
49 2016-02-19 2016 2 0
50 2016-02-20 2016 2 0
51 2016-02-21 2016 2 0
52 2016-02-22 2016 2 0
53 2016-02-23 2016 2 0
54 2016-02-24 2016 2 0
55 2016-02-25 2016 2 0
56 2016-02-26 2016 2 0
57 2016-02-27 2016 2 0
58 2016-02-28 2016 2 0
59 2016-02-29 2016 2 0
60 2016-03-01 2016 3 0
因此,在 Daily Dataframe 的“Val”列中,我希望 Monthly Dataframe 中的“Val”在该月的天数内重复。
Expected Output
Date Year Month Val
0 2016-01-01 2016 1 0
1 2016-01-02 2016 1 0
2 2016-01-03 2016 1 0
3 2016-01-04 2016 1 0
4 2016-01-05 2016 1 0
5 2016-01-06 2016 1 0
6 2016-01-07 2016 1 0
7 2016-01-08 2016 1 0
8 2016-01-09 2016 1 0
.. ... ... ... ...
10 2016-01-11 2016 1 0
11 2016-01-12 2016 1 0
12 2016-01-13 2016 1 0
13 2016-01-14 2016 1 0
14 2016-01-15 2016 1 0
15 2016-01-16 2016 1 0
16 2016-01-17 2016 1 0
17 2016-01-18 2016 1 0
18 2016-01-19 2016 1 0
19 2016-01-20 2016 1 0
20 2016-01-21 2016 1 0
21 2016-01-22 2016 1 0
22 2016-01-23 2016 1 0
23 2016-01-24 2016 1 0
24 2016-01-25 2016 1 0
25 2016-01-26 2016 1 0
26 2016-01-27 2016 1 0
27 2016-01-28 2016 1 0
28 2016-01-29 2016 1 0
29 2016-01-30 2016 1 0
.. ... ... ... ...
41 2016-02-11 2016 2 0.10
42 2016-02-12 2016 2 0.10
43 2016-02-13 2016 2 0.10
44 2016-02-14 2016 2 0.10
45 2016-02-15 2016 2 0.10
46 2016-02-16 2016 2 0.10
47 2016-02-17 2016 2 0.10
.. ... ... ... ...
49 2016-03-19 2016 3 0.07
50 2016-03-20 2016 3 0.07
51 2016-03-21 2016 3 0.07
52 2016-03-22 2016 3 0.07
53 2016-03-23 2016 3 0.07
54 2016-03-24 2016 3 0.07
【问题讨论】:
-
研究加入合并。数据框,这已经回答过。 chrisalbon.com/python/pandas_join_merge_dataframe.html
-
@Amit,请检查我的回答 - 有帮助吗?
-
@MaxU,是的,它确实有帮助,谢谢你的解决方案。
-
@Amit,如果有帮助,请考虑 accepting 的答案 - 这也表明您的问题已得到解答