我的熊猫版本是0.18,我有一个分钟数据,如下所示:
Time
2009-01-30 09:30:00 85.11 100.11
2009-01-30 09:39:00 84.93 100.05
2009-01-30 09:40:00 84.90 100.00
2009-01-30 09:45:00 84.91 99.94
2009-01-30 09:48:00 84.81 99.90
2009-01-30 09:55:00 84.78 100.00
2009-01-30 09:56:00 84.57 100.10
2009-01-30 09:59:00 84.25 100.41
2009-01-30 10:00:00 84.32 100.60
2009-01-30 10:06:00 84.23 101.49
2009-01-30 10:09:00 84.15 101.47
Run Code Online (Sandbox Code Playgroud)
我想仅使用9:30和16:00的数据,并以78分钟的间隔重新采样数据(即将9:30到16:00之间的时间分成5个相等的部分).我的代码如下:
Data= Data.between_time('9:30','16:00')
tframe = '78T'
hourlym = Data.resample(tframe, base=30).mean()
Run Code Online (Sandbox Code Playgroud)
输出:
Time
2009-01-30 08:18:00 85.110000 100.110000
2009-01-30 09:36:00 83.950645 101.984516
2009-01-30 10:54:00 83.372294 103.093824
2009-01-30 12:12:00 83.698624 102.566897
2009-01-30 13:30:00 83.224397 103.076667
2009-01-30 14:48:00 82.641167 104.114667
2009-01-30 16:06:00 NaN NaN
2009-01-30 17:24:00 NaN NaN
2009-01-30 18:42:00 NaN NaN
Run Code Online (Sandbox Code Playgroud)
你可以看到pandas忽略了我的基本参数,我的输出表从8:18开始,我相信这是因为pandas寻求如何将我的整个数据正确地分成78分钟,因为你不能将24h分成78分钟同样这种奇怪的行为发生.是否可以强制大熊猫在第1天9:30开始重新取样?或者在重新采样时只在特定时间内工作?
该base参数应用于午夜,因此在您的情况下,采样从00:30开始,并从该时间开始增加78分钟。我看到两个选择。
选项1:
弄清楚base应该应用到午夜的什么时间才能达到9:30(在这种情况下24):
Data.resample(tframe, base=24)
Run Code Online (Sandbox Code Playgroud)
选项2:
自己生成datetimeindex,并使用进行重新采样reindex:
index = pd.date_range('2009-01-30 09:30:00', '2009-01-30 16:00:00', freq='78min')
Data.reindex(index=index)
Run Code Online (Sandbox Code Playgroud)
编辑:几天后,您将需要自己生成时间戳。
index_date = pd.date_range('2016-04-01', '2016-04-04')
index_date = pd.Series(index_date)
index_time = pd.date_range('09:30:00', '16:00:00', freq='78min')
index_time = pd.Series(index_time.time)
index = index_date.apply(
lambda d: index_time.apply(
lambda t: datetime.combine(d, t)
)
).unstack().sort_values().reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)
代码是这样的:
apply属性。unstack对时间戳进行了排序(最后重置索引以摆脱沿途生成的无用索引)。结果index可以像最初在选项2中一样用于重新索引:
Data.reindex(index=index)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3085 次 |
| 最近记录: |