2016-08-21 10 views
5

Wenn Sie den folgenden Code vergleichen diese Variablen:kann nicht Typ ‚Timestamp‘ mit Typ ‚int‘

type(row) 
pandas.tslib.Timestamp 

row 
Timestamp('2015-09-01 09:30:00') 

wird verglichen mit:

type(data.index.values[0]) 
numpy.datetime64 

data.index.values[0] 
numpy.datetime64('2015-09-01T10:30:00.000000000+0100') 

Ich würde gerne verstehen, ob dies etwas ist, das leicht behoben werden kann oder sollte ich eine Teilmenge meiner Daten hochladen?

dank
+0

'data [data.index.values> Zeile]' scheint, wie Sie für einen Wert von 'data [True] sind' oder 'data [False]' in Ihrem 'data' Wörterbuch . Sie müssen eine Teilmenge Ihrer Daten hochladen, oder geben Sie mögliche Ausgaben/Eingaben, die Menschen sehen können, welche Art von Daten von der Itirrows() ' – SashaZd

Antwort

2

Wenn 01 mitSie setzen es in numpy Welt. Stattdessen versuchen

for row,hit in hits.iterrows(): 
    forwardRows = data[data.index > row]; 
+0

Das hat es behoben. Danke @piRSquared. – ade1e

3

Obwohl dies auf Ihre Frage keine direkte Antwort, habe ich das Gefühl, dass das ist, was Sie suchen: pandas.DataFrame.truncate

Man könnte es wie folgt verwenden:

for row, hit in hits.iterrows(): 
    forwardRows = data.truncate(before=row) 

Hier ist ein kleines Spielzeug Beispiel dafür, wie man es im allgemeinen verwendet werden könnte:

import pandas as pd 

# let's create some data to play with 
df = pd.DataFrame(
    index=pd.date_range(start='2016-01-01', end='2016-06-01', freq='M'), 
    columns=['x'], 
    data=np.random.random(5) 
) 

# example: truncate rows before Mar 1 
df.truncate(before='2016-03-01') 

# example: truncate rows after Mar 1 
df.truncate(after='2016-03-01') 
+0

Dank Kris zurückgegeben wird. Schätzen Sie, dass Sie "DataFrame.truncate" als Option markieren und ein Beispiel geben. Ich werde deine Antwort markieren. – ade1e

Verwandte Themen