首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python数据不更新

Python数据不更新
EN

Stack Overflow用户
提问于 2022-08-11 06:03:48
回答 1查看 34关注 0票数 0

我有这个数据集:

代码语言:javascript
运行
复制
date    event   ticker  initialprice120 initialprice90  initialprice60  initialprice30  initialprice7   finalprice
0   2010-11-18  MELA Mela Sciences FDA Panel            MELA    0.0 0.0 0.0 0.0 0.0 0.0
1   2010-12-07  OREX Orexigen Therapeutics Inc PDUFA    OREX    0.0 0.0 0.0 0.0 0.0 0.0
2   2010-12-07  SLXP SALIX PHARMACEUTICALS LTD PDUFA    SLXP    0.0 0.0 0.0 0.0 0.0 0.0
3   2010-12-09  HGSI HUMAN GENOME SCIENCES INC PDUFA    HGSI    0.0 0.0 0.0 0.0 0.0 0.0
4   2010-12-16  AZN Astrazeneca PDUFA                   AZN 0.0 0.0 0.0 0.0 0.0 0.0

我想为每一行检索该确切日期的股票价格,并在此日期之前一周内,我编写了这段代码,它运行良好,我看到它正在为initialprice120、initialprice90等赋值,但最后不更新数据集的单元格,即如果打印的fda.head()价格行仍然是0.0:

代码语言:javascript
运行
复制
import datetime
from datetime import timedelta
for index, row in fda1.iterrows():
  try:
    ticker=row['ticker']
    print(ticker)
    end_date=row['date'].strftime('%Y-%m-%d')
    start_date120=row['date'] - timedelta(days=120)
    start_date120=start_date120.strftime('%Y-%m-%d')
    yahoo_financials = YahooFinancials(ticker)
    data = yahoo_financials.get_historical_price_data(start_date=start_date120, 
                                                  end_date=end_date, 
                                                  time_interval='daily')
    aapl_df = pd.DataFrame(data[ticker]['prices'])
    initialprice120=float(aapl_df.iloc[0,4])
    initialprice30=float(aapl_df.iloc[20,4])
    initialprice60=float(aapl_df.iloc[40,4])
    initialprice90=float(aapl_df.iloc[60,4])
    initialprice7=float(aapl_df.iloc[78,4])
    finalprice=float(aapl_df.iloc[len(aapl_df)-1,4])
    row['finalprice']=float(finalprice)
    row['initialprice120']=float(initialprice120)
    row['initialprice30']=float(initialprice30)
    row['initialprice60']=float(initialprice60)
    row['initialprice90']=float(initialprice90)
    row['initialprice7']=float(initialprice7)
  except:
    pass
EN

回答 1

Stack Overflow用户

发布于 2022-08-11 06:14:28

有关系列操作,请参见https://pandas.pydata.org/docs/reference/api/pandas.Series.html

若要通过标签访问单个值,请使用row.at[label] = ...fda1.at[index, label] = ...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73315945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档