- "Time" -

问题描述 投票:0回答:1

我有一个Pandas DataFrame,其中索引是一天中每12分钟的日期时间(共120行)。我对数据进行了重新采样,改为每30分钟采样一次。

                 Time  Rain_Rate
1 2014-04-02 00:00:00       0.50
2 2014-04-02 00:30:00       1.10
3 2014-04-02 01:00:00       0.48
4 2014-04-02 01:30:00       2.30
5 2014-04-02 02:00:00       4.10
6 2014-04-02 02:30:00       5.00
7 2014-04-02 03:00:00       3.20

我想取以00, 03, 06, 09, 12, 15 ,18, 和21小时为中心的3小时平均值。我希望平均数包括03:00:00之前的1.5小时(所以是01:30:00)和03:00:00之后的1.5小时(04:30:00)。06:00:00的时间将与03:00:00的平均值重叠(他们都会使用04:30:00)。有什么方法可以用pandas来做这个?我试过一些方法,但都没有用。

python pandas datetime interpolation mean
1个回答
2
投票

在不同的阶段,导致数据点被包含在不同的分类中。 我很难理解这一点,但可以做一点手动分选来验证发生了什么。 重点是,我建议抽查这些方法的输出(或任何

-的方法)与您的原始数据进行对比,以确保事情看起来正确。 在这些例子中,我是用Excel做的。resample

dr = pd.date_range('04-02-2014 00:00:00', '04-03-2014 00:00:00', freq='12T', closed='left')
data = np.random.rand(120)
df = pd.DataFrame(data, index=dr, columns=['Rain_Rate'])
df.index.name = 'Time'
#df.head()
                     Rain_Rate
Time                          
2014-04-02 00:00:00   0.616588
2014-04-02 00:12:00   0.201390
2014-04-02 00:24:00   0.802754
2014-04-02 00:36:00   0.712743
2014-04-02 00:48:00   0.711766

resample

© www.soinside.com 2019 - 2024. All rights reserved.