python pandas按小时在多个索引上搜索



我有一个多索引pandas数组,我正在尝试找到最小值和最大值的9:30〜10:00 AM。我可以迭代数组,并检查时间是否匹配。但这应该是熊猫的一种方式...

有没有办法将交易日的30分钟分组/搜索?我正在尝试对其进行分组,但由于数据具有前市场值而无法使用[:30],但无法正常工作。

import pytz
from datetime import datetime, date, time
from datetime import timedelta
import matplotlib.pyplot as pyplot
from collections import defaultdict
import pandas as pd
from pandas.tseries.resample import TimeGrouper
from pandas.tseries.offsets import DateOffset
from pandas.tseries.index import DatetimeIndex
from pandas import Timestamp
def my_grouper(ts):
    "Function to apply to the index of the DataFrame to break it into groups."
    #pdb.set_trace()
    # Returns midnight of the supplied date.
    return pd.core.datetools.normalize_date(ts)

def first_thirty_minutes(frame):
    "Function to apply to the resulting groups."
    start = frame.index.searchsorted("09:30:00")
    end = frame.index.searchsorted("10:00:00")
    return frame.iloc[start:end]

hist = pd.read_csv("ES2.txt" ,index_col=0 )
eastern = pytz.timezone('US/Eastern')
hist.index = pd.DatetimeIndex(hist.index).tz_localize('UTC').tz_convert('US/Eastern')
data = hist.groupby(my_grouper).apply(first_thirty_minutes)

数据:

DateTime,Hour,Open,High,Low,Close,Volume
1997-09-11 00:00:00-04:00,1997-09-11 00:33:00-04:00,1176.25,1176.25,1174.5,1174.5,4
1997-09-11 00:00:00-04:00,1997-09-11 00:34:00-04:00,1173.75,1173.75,1173.75,1173.75,1
1997-09-11 00:00:00-04:00,1997-09-11 01:45:00-04:00,1173.25,1173.25,1173.25,1173.25,1
1997-09-11 00:00:00-04:00,1997-09-11 04:08:00-04:00,1172.75,1172.75,1172.75,1172.75,1
1997-09-11 00:00:00-04:00,1997-09-11 04:09:00-04:00,1172.5,1172.5,1172.5,1172.5,2
1997-09-11 00:00:00-04:00,1997-09-11 04:10:00-04:00,1172.5,1172.5,1172.5,1172.5,1
1997-09-11 00:00:00-04:00,1997-09-11 04:11:00-04:00,1172.0,1172.0,1172.0,1172.0,1
1997-09-11 00:00:00-04:00,1997-09-11 04:20:00-04:00,1172.0,1172.0,1172.0,1172.0,1
1997-09-11 00:00:00-04:00,1997-09-11 04:21:00-04:00,1171.75,1172.25,1171.75,1172.25,4
1997-09-11 00:00:00-04:00,1997-09-11 04:22:00-04:00,1172.0,1172.0,1171.5,1171.5,2
1997-09-11 00:00:00-04:00,1997-09-11 04:25:00-04:00,1171.0,1171.0,1171.0,1171.0,1
1997-09-11 00:00:00-04:00,1997-09-11 04:31:00-04:00,1170.5,1170.5,1170.5,1170.5,1

在进行更多挖掘之后,我发现使用此行的fif fix fix fix file_time

返回frame.between_time(start_time ='9:30',end_time = '10:00')

相关内容

  • 没有找到相关文章

最新更新