如何将每月的pandas系列重新索引为分钟,并在该月的结果天数的每一天中具有与该月对应的值?

如何将每月的pandas系列重新索引为分钟,并在该月的结果天数的每一天中具有与该月对应的值?,pandas,date,time-series,reindex,Pandas,Date,Time Series,Reindex,我有一系列这样的表格: 1950-01-31 2.0 1950-02-28 2.0 1950-03-31 1.0 1950-04-30 2.0 1950-05-31 0.0 1950-06-30 0.0 我想将passin从每月重新编制为分钟,如下所示: 1950-01-31 00:00:00 2.0 1950-01-31 00:01:00 2.0 1950-01-31 00:02:00 2.0 1950-02

我有一系列这样的表格:

1950-01-31      2.0
1950-02-28      2.0
1950-03-31      1.0
1950-04-30      2.0
1950-05-31      0.0
1950-06-30      0.0
我想将passin从每月重新编制为分钟,如下所示:

1950-01-31 00:00:00     2.0
1950-01-31 00:01:00     2.0
1950-01-31 00:02:00     2.0
1950-02-28 00:03:00     2.0
.
.
.


1950-06-30 00:00.00     0.0
1950-06-30 00:01.00     0.0
1950-06-30 00:02.00     0.0
1950-06-30 00:03.00     0.0
.
.
我的意思是,例如,对应于1950-01-31的值,在这种情况下是2.0,它扩展到该月的每分钟,并依次扩展

您好,谢谢,我遇到了一个问题,我需要严格地将值设置为所属月份,例如,如果我使用s.resample('T')。ffill()我的结果系列中有:

2018-03-31 23:24:00    2.0
2018-03-31 23:25:00    2.0
2018-03-31 23:26:00    2.0
2018-03-31 23:27:00    2.0
                      ... 
2018-04-01 23:31:00    2.0
2018-04-01 23:32:00    2.0
2018-04-01 23:33:00    2.0
2018-04-01 23:34:00    2.0
该月2018-04的每分钟必须为0.0,而我使用s.resample('T').ffill()得到了2.0。在需要的情况下恢复,从当月的第一分钟到最后一分钟,将各月的月值转换为分钟。(对不起我的英语)

IIUC:

安装程序
广播和重新索引 看起来您只捕获了前4分钟。所以我创建了一个从0到3分钟的时间增量数组

d = np.arange(4).astype('timedelta64[m]')

s.reindex((s.index.values[:, None] + d).ravel(), method='ffill')

1950-01-31 00:00:00    2
1950-01-31 00:01:00    2
1950-01-31 00:02:00    2
1950-01-31 00:03:00    2
1950-02-28 00:00:00    2
1950-02-28 00:01:00    2
1950-02-28 00:02:00    2
1950-02-28 00:03:00    2
1950-03-31 00:00:00    1
1950-03-31 00:01:00    1
1950-03-31 00:02:00    1
1950-03-31 00:03:00    1
1950-04-30 00:00:00    2
1950-04-30 00:01:00    2
1950-04-30 00:02:00    2
1950-04-30 00:03:00    2
1950-05-31 00:00:00    0
1950-05-31 00:01:00    0
1950-05-31 00:02:00    0
1950-05-31 00:03:00    0
1950-06-30 00:00:00    0
1950-06-30 00:01:00    0
1950-06-30 00:02:00    0
1950-06-30 00:03:00    0
dtype: int64

要抓住每一分钟,请按照@Wen的建议去做

s.resample('T').ffill()

使用fillna检查重采样
s.resample('T').ffill()