【问题标题】:Python how to auto pick last Trade Day closing pricePython如何自动选择最后一个交易日的收盘价
【发布时间】:2021-06-25 13:53:24
【问题描述】:

您好,我创建了一个包含 Acutal Close、High、Low 的数据框,现在我必须计算每一行的 Day-Change、3Days-Change、2weeks-Change。 使用下面的代码,我可以看到带有空白/NaN 值的 Day-Change 字段(2009 年 10 月 27 日 D-Chg 字段),现在如何让 python 自动选择最后一个交易日期(10/23/ 2009) 当移动日期不存在时计算 AC 价格?

data["D-Chg"]=stock_store['Adj Close'] - stock_store['Adj Close'].shift(1, freq='B')

感谢您的问候

【问题讨论】:

  • 对我来说,你并不清楚你试图做什么,你已经拥有什么以及你已经拥有的问题是什么......

标签: python dataframe time-series


【解决方案1】:

format your first column to datetime.

data['Mycol'] =  pd.to_datetime(data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')

get the max value.

last_date = data['date'].max()

获取最新的行

is_last = data['date'] == last_date
data[is_last]

如果您将所需的列提供给 max(),这可以一步完成。

【讨论】:

  • 在“data['Mycol'] = pd.to_datetime(data['Mycol'], format='%d%b%Y:%H:%M:%S.%f' )”,我收到错误 - KeyError: 'Date'。我目前正在使用 data['Date'] 作为索引。
  • 然后你可以使用索引而不是列。 df.index.max()。如果您需要将索引设为日期时间: df.index = pd.to_datetime(df.index)
  • 谢谢弗洛里安,是否有可能有 1 个带有 if.... 的语句,否则检查 index(date) shift1 is = 'NaN' 然后它将选择 Max Index (Date)\Adj收盘价? data["D-Chg"]=stock_store['Adj Close'] - if stock_store['Adj Close'].shift(1, freq='B')='NaN'......
猜你喜欢
  • 2022-12-04
  • 2022-01-11
  • 2021-11-08
  • 1970-01-01
  • 2017-04-24
  • 2021-03-04
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多