2017-04-19 503 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