我有一个Python数据框,其中的一列的日期如下:
Date:
2018-10-19
2018-10-20
2018-10-21
(...)
2019-01-31
2019-02-01
关于如何添加一个具有月中天数的附加列的任何想法,例如:
Date DaysinMonth
2018-10-19 31
2018-10-20 31
2018-10-21 31
(...)
谢谢
答案 0 :(得分:0)
如果您有一个数据框df
,如下所示:
df = pd.DataFrame({'dates': dates, 'vals': np.random.randint(10, size=dates.shape)})
dates vals
0 2018-01-01 5
1 2018-01-21 8
2 2018-02-10 1
3 2018-03-02 9
4 2018-03-22 0
5 2018-04-11 3
6 2018-05-01 8
7 2018-05-21 2
8 2018-06-10 4
9 2018-06-30 2
10 2018-07-20 7
11 2018-08-09 5
12 2018-08-29 3
13 2018-09-18 7
14 2018-10-08 6
15 2018-10-28 5
16 2018-11-17 3
17 2018-12-07 4
18 2018-12-27 1
获取月份中的日期非常简单,如下所示:
df['daysinmonth'] = df['dates'].dt.daysinmonth
dates vals daysinmonth
0 2018-01-01 5 31
1 2018-01-21 8 31
2 2018-02-10 1 28
3 2018-03-02 9 31
4 2018-03-22 0 31
5 2018-04-11 3 30
6 2018-05-01 8 31
7 2018-05-21 2 31
8 2018-06-10 4 30
9 2018-06-30 2 30
10 2018-07-20 7 31
11 2018-08-09 5 31
12 2018-08-29 3 31
13 2018-09-18 7 30
14 2018-10-08 6 31
15 2018-10-28 5 31
16 2018-11-17 3 30
17 2018-12-07 4 31
18 2018-12-27 1 31