2016-08-21 5 views
5

निम्न कोड चलाते समय के साथ प्रकार 'टाइमस्टैम्प' की तुलना नहीं की जा सकती इन चरों:प्रकार 'int'

:

type(row) 
pandas.tslib.Timestamp 

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

के साथ तुलना में किया जा रहा है

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

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

मैं समझना चाहता हूं कि यह ऐसा कुछ है जिसे आसानी से ठीक किया जा सकता है या क्या मुझे अपने डेटा का सबसेट अपलोड करना चाहिए? pandas.DataFrame.truncate

आप इसे इस रूप में इस्तेमाल कर सकते हैं: धन्यवाद

+0

'डेटा [data.index.values> पंक्ति]' लगता है कि आप की तरह '' के डेटा [सच] मान 'या डेटा [झूठी]' अपने 'डेटा' शब्दकोश के अंदर की खोज कर रहे । आपको अपने डेटा का एक सबसेट अपलोड करना होगा, या संभव आउटपुट/इनपुट देना होगा जो लोगों को यह देखने की अनुमति देगा कि 'iterrows() ' – SashaZd

उत्तर

2

जब 01 का उपयोग करते हुएआप इसे numpy दुनिया में डाल दिया। इसके बजाय, कोशिश

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

यह तय किया गया। धन्यवाद @piRSquared। – ade1e

3

हालांकि यह अपने प्रश्न के लिए एक सीधा जवाब नहीं है, मुझे लगता है कि यह आपके लिए क्या देख रहे है

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

यहाँ कैसे आप इसे सामान्य रूप में उपयोग कर सकते हैं का एक छोटा खिलौना उदाहरण है:

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

धन्यवाद क्रिस द्वारा किस प्रकार का डेटा लौटाया जाता है। एक विकल्प के रूप में 'DataFrame.truncate' को हाइलाइट करने और एक उदाहरण प्रदान करने की सराहना करते हैं। मैं आपका जवाब चिह्नित करूंगा। – ade1e

संबंधित मुद्दे