<p>我对pandas和python还很陌生,但我想出了一个允许转换到任何时间段的方法</p>
<p>在我的例子中,minData是分钟数据,以没有任何逗号的平面格式存储。我的数据来自quantquote.com网站在</p>
<pre><code>columnHeadings = ['Date', 'Time', 'Open', 'High', 'Low', 'Close', 'Volume', 'Split Factor', 'Earnings', 'Dividends']
minData = pd.read_csv(
filename,
header = None,
names = columnHeadings,
parse_dates = [["Date", "Time"]],
date_parser = lambda x: datetime.datetime.strptime(x, '%Y%m%d %H%M'),
index_col = "Date_Time",
sep=' ')
xx = minData.to_period(freq="min")
openCol = DataFrame(xx.Open)
openCol2 = openCol.resample("M", how = 'first')
highCol = DataFrame(xx.High)
highCol2 = highCol.resample("M", how = 'max')
lowCol = DataFrame(xx.Low)
lowCol2 = lowCol.resample("M", how = 'min')
closeCol = DataFrame(xx.Close)
closeCol2 = closeCol.resample("M", how = 'last')
volumeCol = DataFrame(xx.Volume)
volumeCol2 = volumeCol.resample("M", how = 'sum')
#splitFactorCol = DataFrame(xx.SplitFactor)
#splitFactorCol.resample("M", how = 'first')
monthlyData = DataFrame(openCol2.Open)
monthlyData["High"] = highCol2.High
monthlyData["Low"] = lowCol2.Low
monthlyData["Close"] = closeCol2.Close
monthlyData["Volume"] = volumeCol2.Volume
</code></pre>
<p>我相信一定有一个更简洁的方法,但这与我的数据一起工作,它允许我使用相同的代码生成15分钟,1小时,每天,每周和每月。而且速度很快。在</p>
<p>如有任何改进/意见,我们将不胜感激。在</p>
<p>谨致问候</p>
<p>-杰森</p>