Ich habe eine Multi-Index-Pandas-Array und ich versuche, das Minimum und die Max zwischen den 9: 30 ~ 10: 00 Am. Ich könnte das Array iterieren und prüfen, ob die Zeiten übereinstimmen oder nicht. Aber es sollte ein Weg über Pandas sein ...Python Pandas Suche nach Stunden auf mehrere Index
Gibt es eine Möglichkeit, die 30 Minuten des Handelstages zu gruppieren/suchen? Ich versuche es zu gruppieren, funktioniert aber nicht richtig, da es nicht ok ist, nur [: 30] zu verwenden, da die Daten Vormarktwerte haben.
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)
Daten:
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
http://pandas.pydata.org/pandas-docs/stable/merging.html#merging-asof –