首页 > 解决方案 > if 语句:如果数据点的数量小于 x 则返回 NaN 否则计算数据帧的年化回报

问题描述

我有一个数据框,其中包含不同基金的月度日志回报。数据框由 100 多列和 500 行组成。对于返回不可用的日期,报告 np.nan 值。我正在尝试计算每个基金过去 3 年的年化回报,我正在使用以下函数:

def 计算_3Y_return(数据):

 data_cumsum = data.iloc[-36:].cumsum()
 return_3Y = data_cumsum.iloc[-1]*(1/3)

 return_3Y

对于没有足够数据点的基金(他们的跟踪记录短于 36 个月),我希望我的函数返回 NaN。

您能否帮我在我的函数中添加 if 语句,该语句将为具有 36 个可用数据点的基金计算 3 年年化回报,并为具有少于 36 个数据点的基金返回 NaN(这些基金是最近推出的,因此可用数据的数量点数小于 36)。

我已经尝试过使用 dataframe.count() 但它没有帮助

非常感谢

标签: dataframeif-statement

解决方案


推荐阅读