如何索引过去一个月的熊猫



好的,所以我想知道是否可以在不具体说明确切月份的情况下,为大熊猫的4个月编制索引。所以说代码是:

import pandas as pd
import datetime as dt
import pandas_datareader as web
start_date = '2019-01-01'
end_date = '2020-11-01'
df = web.datareader('AMD', yahoo, start, end)

这段代码提取了近2年的数据,所以我的问题是,如何在不指定2020年7月1日至今的情况下,索引出过去4个月的数据?(顺便说一句,原因是我总是需要过去的4个月,以及时间进度——2020年7月1日将不再是最后的4个月中,所以我试图找到一种方法,在不必每天更改的情况下找到最后的4月(

您可以使用日期时间模块中的daterelativedelta

import pandas as pd
import pandas_datareader as web
from datetime import date
from dateutil.relativedelta import relativedelta
end = date.today()
start = end + relativedelta(months=-4)
stocks = ['AMD']
df = web.DataReader(stocks, 'yahoo', start, end)

输出

print(df.head(2).append(df.tail(2)))
Attributes  Adj Close      Close       High        Low       Open    Volume
Symbols           AMD        AMD        AMD        AMD        AMD       AMD
Date                                                                       
2020-08-11  76.879997  76.879997  80.709999  76.099998  80.709999  77877700
2020-08-12  82.610001  82.610001  82.879997  77.550003  78.430000  88607800
2020-12-10  91.660004  91.660004  92.089996  89.029999  89.550003  33771700
2020-12-11  90.440002  90.440002  91.790001  90.160004  89.550003   3404191

您可以动态定义start_date和end_date,例如:

from datetime import date
from dateutil.relativedelta import relativedelta
end_date = date.today().strftime("%Y-%m-%d")
start_date = (date.today() - relativedelta(months=4)).strftime("%Y-%m-%d")

最新更新