季度末日期计算下一季度价格绝对变化时的空值与索引错误问题求助
季度末日期计算下一季度价格绝对变化时的空值与索引错误问题求助
大家好,我最近在处理季度价格数据的计算,遇到了两个头疼的问题,想请教下社区的各位大佬:
我想要实现的功能是计算特定日期之后的价格绝对变化率,我的数据是按季度整理的,每个季度的结束日期都是当季的最后一天。
目前我写的代码在大部分场景下都能正常工作,但奇怪的是,当目标日期是9月底的季度末时,代码会返回空值。我本来想着既然是季度数据,直接引用下一个数据点应该会更简单,但尝试这么调整的时候,又出现了索引错误。
以下是我当前的代码:
quarterly_deviations_post_anomaly = {} for key in anomaly_dfs.keys(): quarterly_deviations_post_anomaly[key] = pd.DataFrame(columns=['1Q_abs_change']) anomaly_df = anomaly_dfs[key] q_df = q_data[key] for date in anomaly_df.index: if date in q_df.index and (date + pd.DateOffset(months=3)) in q_df.index: current_price = q_df.loc[date]['close'] next_Q_price = q_df.loc[date + pd.DateOffset(months=3)]['close'] deviation = abs((next_Q_price - current_price) / current_price) df = pd.DataFrame({'1Q_abs_change': deviation}, index=[date]) quarterly_deviations_post_anomaly[key] = pd.concat([quarterly_deviations_post_anomaly[key], df]) else: df = pd.DataFrame({'1Q_abs_change': float('NaN')}, index=[date]) quarterly_deviations_post_anomaly[key] = pd.concat([quarterly_deviations_post_anomaly[key], df])
有没有朋友能帮我分析下问题出在哪?或者有没有更优雅的方式实现这个需求?
备注:内容来源于stack exchange,提问作者Lloyd
相关产品推荐
相关产品推荐

