Python 提取数据帧中一个日期的位置

Python 提取数据帧中一个日期的位置,python,pandas,date,datetime,Python,Pandas,Date,Datetime,我正在寻找一种方法在一个精确的日期剪切我的数据帧,所以我想在我的代码中输入这个日期,然后,提取它所在的位置,然后用这个位置作为df的结尾来切片我的数据帧 这是我的密码: 将熊猫作为pd导入 将numpy作为np导入 从pathlib导入路径 进口稀土 起始日期时间导入日期 DAY\u CHOOSEN=pd.DataFrame() out=pd.DataFrame() temp=read_csv(“data.csv”,sep=“;”) 日=日期(日=23,月=4,年=年) 对于临时[0]中的行:

我正在寻找一种方法在一个精确的日期剪切我的数据帧,所以我想在我的代码中输入这个日期,然后,提取它所在的位置,然后用这个位置作为df的结尾来切片我的数据帧

这是我的密码:

将熊猫作为pd导入
将numpy作为np导入
从pathlib导入路径
进口稀土
起始日期时间导入日期
DAY\u CHOOSEN=pd.DataFrame()
out=pd.DataFrame()
temp=read_csv(“data.csv”,sep=“;”)
日=日期(日=23,月=4,年=年)
对于临时[0]中的行:
如果第[0]行==天\u选择:
索引=行
温度=温度[:索引]
out=pd.merge(out,temp,left\u index=True,right\u index=True,how='outer')
打印(f“{name}a ete traite”)
但当我启动代码时,我显然有以下错误:

回溯(最近一次呼叫最后一次):
文件“C:\Users\E31\Documents\cours\stage\u docsier\projet\u python\extract\u period.py”,第40行,在
如果行['dte\'+str(年份)]==选择的日期:
TypeError:“时间戳”对象不可下标
下面是下载我的文件示例的链接。 我该如何处理这个问题?
谢谢你的帮助

如果将包含日期信息的列解析为datetime数据类型,则可以根据特定日期轻松地对数据进行切片。例:

import pandas as pd

df = pd.read_csv(filename, sep=';', decimal=',')

# to datetime
df['dte_1981'] = pd.to_datetime(df['dte_1981'], dayfirst=True)

# now you can slice your df...
DAY_CHOOSEN = pd.Timestamp('1981-04-23')
df_select = df[df['dte_1981'] > DAY_CHOOSEN]


df_select
      dte_1981 res_1981    SQ_x
113 1981-04-24       2.5  -2.05
114 1981-04-25       2.5  -2.05
115 1981-04-26       2.5  -2.05
....

如果将包含日期信息的列解析为datetime数据类型,则可以根据特定日期轻松地对数据进行切片。例:

import pandas as pd

df = pd.read_csv(filename, sep=';', decimal=',')

# to datetime
df['dte_1981'] = pd.to_datetime(df['dte_1981'], dayfirst=True)

# now you can slice your df...
DAY_CHOOSEN = pd.Timestamp('1981-04-23')
df_select = df[df['dte_1981'] > DAY_CHOOSEN]


df_select
      dte_1981 res_1981    SQ_x
113 1981-04-24       2.5  -2.05
114 1981-04-25       2.5  -2.05
115 1981-04-26       2.5  -2.05
....

你能把这个问题归结为一个问题吗?对我来说,似乎有很多代码与实际问题无关。但基本上,对于熊猫数据帧,您希望避免迭代。例如,您可以使用获取某个索引值的“位置”。我编辑了我的帖子,现在正在阅读有关get_-loc的文章。我刚刚尝试使用get_-loc,但我遇到了以下错误:
raise-KeyError(key)KeyError:datetime.date(1981,4,23)
Ok,
get_-loc
这里可能过于复杂。我添加了一个我认为更简单的答案。这几乎是基本的;这里的要点是使用pandas内置的datetime,而不是Python标准的lib datetime?对我来说,似乎有很多代码与实际问题无关。但基本上,对于熊猫数据帧,您希望避免迭代。例如,您可以使用获取某个索引值的“位置”。我编辑了我的帖子,现在正在阅读有关get_-loc的文章。我刚刚尝试使用get_-loc,但我遇到了以下错误:
raise-KeyError(key)KeyError:datetime.date(1981,4,23)
Ok,
get_-loc
这里可能过于复杂。我添加了一个我认为更简单的答案。这几乎是基本的;这里的重点是使用pandas内置的datetime,而不是Python标准的lib datetime。非常感谢您,它很好地工作了!非常感谢,它成功了!