2017-04-19 502 views
3

條件我有一個數據幀熊貓,並設置索引是DateTime列:熊貓上索引列

data['DateTime'] = pandas.to_datetime (data['DateTime']) 
data = data.set_index('DateTime') 

,我需要內插的數據。但是,此索引後來阻止我做

data = data[pandas.to_datetime (data['DateTime']) <= cutoff] 

其中cutoff是某個日期時間。我怎麼去解決這個問題?

回答

2

看來你需要.index的比較DatetimeIndex

data['DateTime'] = pandas.to_datetime (data['DateTime']) 
data = data.set_index('DateTime') 
data = data[data.index <= cutoff] 

而且排序DatetimeIndex使用loc

data1 = data1.loc[:cutoff] 

樣品:

rng = pd.date_range('2017-04-03', periods=10) 
data = pd.DataFrame({'a': range(10)}, index=rng) 
print (data) 
      a 
2017-04-03 0 
2017-04-04 1 
2017-04-05 2 
2017-04-06 3 
2017-04-07 4 
2017-04-08 5 
2017-04-09 6 
2017-04-10 7 
2017-04-11 8 
2017-04-12 9 

cutoff = '2017-04-08' 
data1 = data[data.index <= cutoff] 
print (data1) 
      a 
2017-04-03 0 
2017-04-04 1 
2017-04-05 2 
2017-04-06 3 
2017-04-07 4 
2017-04-08 5 

data1 = data1.loc[:cutoff] 
print (data1) 
      a 
2017-04-03 0 
2017-04-04 1 
2017-04-05 2 
2017-04-06 3 
2017-04-07 4 
2017-04-08 5 

謝謝piRSquared

data1 = data1[:cutoff] 
print (data1) 
      a 
2017-04-03 0 
2017-04-04 1 
2017-04-05 2 
2017-04-06 3 
2017-04-07 4 
2017-04-08 5 
+0

令人驚歎。這將花費我幾天,我仍然不會嘗試這一點。我會在10分鐘內接受答案。 – John

+1

'data [:cutoff]'也可以工作 – piRSquared

+0

@John不要忘記接受這個答案:-) – piRSquared