我正在尝试将fx tick数据转换为ohlc数据:
import pandas as pd
data_frame = pd.read_csv('gbpusd jan17.csv', names=['Symbol', 'Date_Time', 'Bid', 'Ask'],
index_col=1, parse_dates=True, nrows=100)
print(data_frame.head())
data_ask = data_frame['Ask'].resample('15Min').ohlc()
data_bid = data_frame['Bid'].resample('15Min').ohlc()
data_ask.head()
data_bid.head()
print(data_ask.head())
print(data_ask[1:5])
我的输出是:
Symbol Bid Ask
Date_Time
2017-01-02 00:00:01.105 GBP/USD 1.23399 1.23551
2017-01-02 00:00:01.561 GBP/USD 1.23399 1.23551
2017-01-02 00:00:05.122 GBP/USD 1.23399 1.23551
2017-01-02 00:00:05.525 GBP/USD 1.23365 1.23577
2017-01-02 00:00:06.139 GBP/USD 1.23365 1.23577
open high low close
Date_Time
2017-01-02 1.23551 1.23633 1.23551 1.23576
Empty DataFrame
Columns: [open, high, low, close]
Index: []
任何人都可以告诉我为什么我可以看到空数据框的头部?这里出了什么问题,如何将所有刻度数据转换为ohlc数据?
答案 0 :(得分:0)
data_ask
似乎是单行数据集(基于之前的head()
语句)。但是当你使用[1:5]
来调用数据时,你要求从第二行开始的数据集,因此是空的df。如果您使用print(df_ask[0:5])
,请查看会发生什么。