如何将数据重新采样到pandas resample ohlc

时间:2017-04-19 10:46:37

标签: python pandas dataframe

我正在尝试将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数据?

1 个答案:

答案 0 :(得分:0)

data_ask似乎是单行数据集(基于之前的head()语句)。但是当你使用[1:5]来调用数据时,你要求从第二行开始的数据集,因此是空的df。如果您使用print(df_ask[0:5]),请查看会发生什么。