2016-12-29 4 views
0

I pandas.DataFrame df bekam:Wie Teilmenge von pandas.DataFrame mit Plotly plotten

Eröffnung Hoch Tief Schließen Volumenindex DayTime Setup

0 107,390 107,402 107,389 107,402 190,099998 0 0,0 -1

1 107,190 107,275 107,187 107,265 1419,299994 1 1,0 1

2 107,272 107,272 107,255 107,256 174,000000 2 2,0 -1

3 10 7,255 107,255 107,185 107,255 2581,300001 3 3,0 -1

4 107,199 107,258 107,185 107,245 4102,199995 4 4,0 -1

5 107,195 107,258 107,185 107,250 3335,600000 5 5,0 1

6 107,242 107,258 107,185 107,248 2824,900019 6 6,0 -1

7 107,343 107,345 107,187 107,245 1291,600012 7 7,0 -1

8 107,195 107,265 107,180 107,251 2746,099976 8 8,0 1

dann wähle ich Teilmenge aus dem Datenrahmen:

dfs = df.loc [df [ 'setup'] == 1]

wenn ich versuche, Grundstück mit Plotly und dfs zu ziehen, es zeigt Fehler, aber es funktioniert mit df.

fig = FF.create_candlestick (dfs [ 'Open'], dfs [ 'High'], dfs [ 'Low'], dfs [ 'Schließen'], dates = dfs [ 'index'])

Traceback (letzter Anruf zuletzt): Datei "C:/Benutzer/Qiu/Desktop/FX-Programmierung/H1Signals.py", Zeile 102, in fig = FF.create_candstick (dfs ['Open'], dfs [' Hoch '], dfs [' Niedrig '], dfs [' Schließen '], Datum = dfs [' Index ']) Datei "C: \ Benutzer \ Qiu \ Anaconda3 \ lib \ Site-Pakete \ plotly \ tools.py ", Zeile 5810, in create_candlestick ** kwargs) Datei" C: \ Benutzer \ Qiu \ Anaconda3 \ lib \ Site-Pakete \ plotly \ tools.py ", Zeile 4973, in _validate_ohlc wenn hoch [Index] < lst [Index]: Datei "C: \ Benutzer \ Qiu \ Anaconda3 \ lib \ Site-Pakete \ Pandas \ core \ series.py", Zeile 583, in getitem Ergebnis = self.index.get_value (selbst, Schlüssel) Datei " C: \ Benutzer \ Qiu \ Anaconda3 \ lib \ Site-Pakete \ Pandas \ Indizes \ Base.py ", Zeile 1980, in get_value tz = getattr (series.dtype, 'tz', keine)) Datei" pandas \ index.pyx ", Zeile 103, in pandas.index.IndexEngine.get_value (pandas \ index.c: 3332) Datei" pandas \ index.pyx ", Zeile 111, in pandas.index.IndexEngine.get_value (pandas \ index .c: 3035) Datei "pandas \ index.pyx", Zeile 159, in pandas.index.IndexEngine.get_loc (pandas \ index.c: 4018) Datei "pandas \ hashtable.pyx", Zeile 303, in Pandas .hashtable.Int64HashTable.get_item (pandas \ hashtable.c: 6610) Datei "pandas \ hashtable.pyx", Zeile 309, in pandas.hashtable.Int64HashTable.get_item (pandas \ hashtable.c: 6554) KeyError: 0

Antwort

0

Versuch:

dfs = df.loc[df['setup'] == 1] 
dfs = dfs.reset_index() 
fig = FF.create_candlestick(dfs['Open'], dfs['High'], dfs['Low'], dfs['Close'], dates=dfs['index']) 

Wenn Sie Ihre Bedingung Auswahl verwenden, um den Datenrahmen hält seinen ursprünglichen Index spleißen. Plotly Backend-Code versucht, den Index in einer linearen Weise zu durchlaufen, so dass dies brechen kann. Dies kann jedoch eine Spalte mit dem Namen "index" oder "unbenannt: 0" hinzufügen. Stellen Sie also sicher, dass Sie vor dem Plotten keine zwei Spalten mit dem Namen "index" haben. Hoffe das hilft.

Verwandte Themen