dataframe - 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() 但它没有帮助
非常感谢
解决方案
推荐阅读
- javascript - 在另一个电子表格上向另一个电子表格发起 UI 提示
- linux - 测试匹配模式的文件数,如果有超过 1 个,可以删除最旧的文件
- java - 使用 Teiid Spring Boot 的多租户
- kotlin - 如何在scatter mp mp Android图表中绘制趋势线(或限制线)
- r - 如何通过对其行之一的条件评估来设置组的整个列
- android - 通过命令行为 android 构建我的 Unity 项目的简单命令
- swift - 当您可以访问同一文件中的类时,Swift 为什么要使用扩展?
- apache-flink - Flink KeyedProcessFunction 不向后续步骤发送数据
- swift - 获取 MIDIObjectPropertyChangeNotification 返回的属性值
- sql-server - 使一个记录的最后一个日期成为存储过程中下一个记录的第一个日期