【问题标题】:Flexible function in pandas/numpypandas/numpy 中的灵活功能
【发布时间】:2021-02-01 08:08:03
【问题描述】:

我有一个函数:

cond14 = (df.SMA > df.EMA)
df['Cross'] = np.where(cond14, 100, 0)

我不希望函数过于死板,即我不希望 SMA 恰好高于 EMA; 2%的变化是可以的。假设 SMA = 59.12 & EMA = 59.75 应该通过函数。

有没有办法增加这种灵活性?小小帮助将不胜感激:)

谢谢!

【问题讨论】:

    标签: python pandas numpy dataframe conditional-statements


    【解决方案1】:

    我建议明确添加公差边距:

    margin = 0.02
    cond14 = (df.SMA > df.EMA * (1-margin) )
    df['Cross'] = np.where(cond14, 100, 0)
    

    【讨论】:

      【解决方案2】:

      也许一种简单的方法是通过一个简单的阈值将它们过滤掉。

      例如,你可以这样说:

      cond14 = (df.SMA + threshold > df.EMA)
      

      哪里可以根据你的需要计算阈值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-31
        • 2021-11-29
        • 1970-01-01
        • 1970-01-01
        • 2022-01-18
        • 2019-05-11
        • 1970-01-01
        • 2021-07-06
        相关资源
        最近更新 更多