python/API使用变量正确实现df.loc

python/API使用变量正确实现df.loc,python,pandas,Python,Pandas,目前我有一个变量叫做 Date: "2016-07-01" 我正在努力使我目前拥有的数据帧在给定的日期开始。我目前使用的方法是: given base df with many dates and prices at the time, dfmain = df.loc[Date:] 但是,当我打印输出时,它实际上只是从索引202开始: Index Date Price 202 2008-11-21 37.88 203 2008-11-28 42.70

目前我有一个变量叫做

Date: "2016-07-01"
我正在努力使我目前拥有的数据帧在给定的日期开始。我目前使用的方法是:

given base df with many dates and prices at the time,

dfmain = df.loc[Date:]
但是,当我打印输出时,它实际上只是从索引202开始:

Index    Date      Price  
202  2008-11-21    37.88
203  2008-11-28    42.70 
204  2008-12-05    48.28 
205  2008-12-12    51.34 
206  2008-12-19    51.30 
207  2008-12-26    51.78  #etc...

当我将日期更改为类似2076-01-02的值时,它从索引208开始。我想知道是否有一种方法可以实现它,因此它需要完整的日期并从那里开始,而不是df.loc计算日期的前三个数字并将其设置为起始索引

我认为首先需要
将索引设置为
DateTimeindex
by column
Date
,以便按标签选择:


另一种解决方案应为使用或:



我想首先需要
将索引设置为
DateTimeindex
by column
Date
,以便按标签选择:


另一种解决方案应为使用或:



df.loc[]是对索引的引用,而索引不是日期列。尝试:

df = df.set_index('Date')
如果不想更改索引,还可以执行以下操作:

df[df['Date'] >= '20160701']]

df.loc[]是对索引的引用,而索引不是日期列。尝试:

df = df.set_index('Date')
如果不想更改索引,还可以执行以下操作:

df[df['Date'] >= '20160701']]
df = df.set_index('Date')
df[df['Date'] >= '20160701']]