首页 > 解决方案 > 尝试将日期时间应用于 Pandas 中的函数

问题描述

我有一个如下所示的 dataFrame (df):

index   ticker    start_date
0        CRON      2020-10-27
1        DS        2020-10-27

在给定 start_date 的情况下,我想创建一个新列返回该股票代码的 3 天回报。start_date 是 datetime64

我创建了一个函数:

def three_day_return(date_col, ticker_col):
     end_date = np.busday_offset(dates=date_col.strftime("%Y-%m-%d"), holidays=nyse.holidays().holidays, offsets=3)
     price_df = yf.download(ticker_col, 
                  start=date_col, 
                  end=end_date, 
                  progress=False)
     open_price = price_df.iloc[1]['Open']
     close_price = price_df.iloc[3]['Close']
     return open_price/close_price-1

当我应用该功能时,我得到一个错误代码。希望对此有所帮助。提前致谢

df['three_day_return']= three_day_return(df['start_date'], df['ticker'])

AttributeError: 'Series' object has no attribute 'strftime'

标签: pythonpandas

解决方案


推荐阅读