Я использую Python 3.5.1 и панды 0.18.0 и пытаюсь использовать этот notebook для изменения данных финансовых клеща в качестве упражнения представляет интерес для меня:Проблем с пандой TimeSeries RESAMPLE
У меня возникли проблемы с некоторыми командами, и задавался вопросом, связано ли это с версиями python и pandas?
Например:
Это файл, я читаю в с попутным выхода:
data = pd.read_csv('test30dayes2tickforpython.csv',index_col=0, header=0,parse_dates={"Timestamp" : [0,1]})
data.dtypes
Out[80]:
Open float64
High float64
Low float64
Last float64
Volume int64
NumberOfTrades int64
BidVolume int64
AskVolume int64
dtype: object
Когда я пытаюсь затем создать другой объект, как это:
ticks = data.ix[:, ['High','Volume']]
ticks
Я получаю NaN:
High Volume
Timestamp
2015-12-27 23:00:25.000 NaN NaN
2015-12-27 23:01:11.000 NaN NaN
Но если я использую ссылку на столбец вместо имен он работает:
ticks = data.ix[:, [1,4]]
ticks
High Volume
Timestamp
2015-12-27 23:00:25.000 2045.25 1
2015-12-27 23:01:11.000 2045.50 2
Почему это?
Кроме того, ноутбук показывает другой объект, созданный:
bars = ticks.Price.resample('1min', how='ohlc')
bars
Когда я пытаюсь это, я получаю эту ошибку:
bars = ticks.High.resample('60min', how='ohlc')
bars
1 bars = ticks.High.resample('60min', how='ohlc')
AttributeError: 'DataFrame' object has no attribute 'High'
Это работает, если я не называю высокий столбец :
bars = ticks.resample('60min', how='ohlc')
bars
FutureWarning: how in .resample() is deprecated the new syntax is .resample(...).ohlc()
High Volume
open high low close open high low close
Timestamp
2015-12-27 23:00:00 2045.25 2047.75 2045.25 2045.25 1.0 7.0 1.0 5.0
Какая инструкция подходит вам по этому запросу?
Я ценю, что ноутбук, вероятно, недействителен для версии Python/Pandas Im, но, как новичок, он очень полезен для меня, поэтому хотел бы, чтобы он работал на моем data.
Благодаря Jezrael! – ade1e