Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用带有日期时间的开始日期和结束日期剪切数据帧_Python_Pandas_Datetime - Fatal编程技术网

Python 使用带有日期时间的开始日期和结束日期剪切数据帧

Python 使用带有日期时间的开始日期和结束日期剪切数据帧,python,pandas,datetime,Python,Pandas,Datetime,我有一个数据框,上面有一个特定股票的每日股价账户 数据帧从2014年开始,到上周结束 >>>df 0 2014-11-19 188.479996 187.369995 188.250000 188.169998 1880800.0 1 2014-11-20 188.639999 187.289993 187.289993 188.509995 866800.0 2 2014-11-21 190.479996 188.

我有一个数据框,上面有一个特定股票的每日股价账户

数据帧从2014年开始,到上周结束

>>>df
0     2014-11-19  188.479996  187.369995  188.250000  188.169998  1880800.0   
1     2014-11-20  188.639999  187.289993  187.289993  188.509995   866800.0   
2     2014-11-21  190.479996  188.949997  190.429993  189.570007  1586200.0   
3     2014-11-24  190.210007  189.770004  190.020004  190.059998  1365900.0   
4     2014-11-25  190.559998  189.660004  190.339996  190.000000  1736700.0   
...          ...         ...         ...         ...         ...        ...   
1507  2020-11-13  329.730011  325.890015  326.450012  329.010010  1996100.0   
1508  2020-11-16  333.119995  330.410004  331.649994  333.000000  3018800.0   
1509  2020-11-17  332.500000  329.250000  330.730011  331.339996  3052100.0   
1510  2020-11-18  332.140015  327.290009  331.630005  327.320007  2634900.0   
1511  2020-11-19  329.089996  325.429993  326.760010  328.709991  2962161.0

我想创建一个新的数据框架df1,它只包含过去两年的数据。我将如何使用datetime进行此操作?

您可以使用date time查找今天的日期,然后根据过去两年内的任何内容筛选您的df:

import datetime
import pandas as pd

# example data:
df = pd.DataFrame({'date': ['2020-11-10', '2020-11-11', '2019-11-01', '2018-11-01', '2017-11-01'],
                   'vals': [1,2,3,4,5]}) 
df['date'] = pd.to_datetime(df.date)

# get today's date
today = datetime.datetime.today() 

# filter records within last two years of today
df[(today - df.date).dt.days <= 365*2]    
导入日期时间
作为pd进口熊猫
#示例数据:
df=pd.数据帧({'date':['2020-11-10','2020-11-11','2019-11-01','2018-11-01','2017-11-01'],
‘VAL’:[1,2,3,4,5]})
df['date']=pd.to_datetime(df.date)
#得到今天的日期
今天=datetime.datetime.today()
#过滤当前最近两年内的记录

df[(今天-df.date).dt.days你试过什么了吗?这有帮助吗:?这回答了你的问题吗?这很有效,谢谢。我接受了答案。你介意把最初的问题投上一票吗?