Ich verwende Python 3.5.1 und Pandas 0.18.0 und versuchen, diese notebook zu verwenden Finanztickdaten zu modifizieren, wie die Übungen für mich von Interesse sind:Probleme mit Pandas Zeitreihe Resampling
ich Probleme mit bin mit einigen der Befehle und fragte mich, ob dies aufgrund der Versionen von Python und Pandas ist?
Zum Beispiel:
Dies ist die Datei, die ich mit zugehörigem Ausgang lese in:
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
Wenn ich versuche, um dann ein anderes Objekt wie folgt zu erstellen:
ticks = data.ix[:, ['High','Volume']]
ticks
ich NaN-Werte:
High Volume
Timestamp
2015-12-27 23:00:25.000 NaN NaN
2015-12-27 23:01:11.000 NaN NaN
Aber wenn ich die Spaltenreferenz statt Namen verwenden funktioniert es:
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
Warum ist das?
Auch zeigt das Notebook ein anderes Objekt erstellt:
bars = ticks.Price.resample('1min', how='ohlc')
bars
Wenn ich das versuchen bekomme ich diesen Fehler:
bars = ticks.High.resample('60min', how='ohlc')
bars
1 bars = ticks.High.resample('60min', how='ohlc')
AttributeError: 'DataFrame' object has no attribute 'High'
Es funktioniert, wenn ich die hohe Säule nicht nennen :
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
Was ist der richtige Befehl dafür?
Ich schätze, dass das Notebook ist wahrscheinlich nicht gültig für die Version von Python/Pandas Im, aber als Neuling ist es sehr nützlich für mich, so würde es auf meiner data funktioniert.
Dank Jezrael! – ade1e