Pandas 以索引列为条件
我有一个数据框,并将索引设置为DateTime列:Pandas 以索引列为条件,pandas,Pandas,我有一个数据框,并将索引设置为DateTime列: data['DateTime'] = pandas.to_datetime (data['DateTime']) data = data.set_index('DateTime') 我需要对数据进行插值。然而,这个索引后来阻止了我这样做 data = data[pandas.to_datetime (data['DateTime']) <= cutoff] data=data[pandas.to_datetime(data['date
data['DateTime'] = pandas.to_datetime (data['DateTime'])
data = data.set_index('DateTime')
我需要对数据进行插值。然而,这个索引后来阻止了我这样做
data = data[pandas.to_datetime (data['DateTime']) <= cutoff]
data=data[pandas.to_datetime(data['datetime'])似乎您需要.index
进行比较DatetimeIndex
:
data['DateTime'] = pandas.to_datetime (data['DateTime'])
data = data.set_index('DateTime')
data = data[data.index <= 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
太棒了。这会花我好几天的时间,我仍然不会尝试。我会在10分钟内接受答案。谢谢,@piRSquared。两种方法的性能有差异吗?@John没有。它们应该差不多。
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
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