代码之家  ›  专栏  ›  技术社区  ›  krizajb

比较列值pandas

  •  1
  • krizajb  · 技术社区  · 6 年前

    我创建了两个列,如下所示:

    df_o['a'] = (df['sell'] == 1).resample(interval).sum().astype(int)
    df_o['b'] = (df['sell'] == 0).resample(interval).sum().astype(int)
    

    我想计算这两列之间的比率,即:

    df_o['ratioab'] = df_o['a'] / df_o['b']
    

    这很有效,但我无法避免 x/0 0/x df_o['ratioab'] = 0

    这不起作用:

    if (0 == df_o['a']).all() | (0 == df_o['b']).all():
        df_ohlc['ratioab'] = 0
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   jezrael    6 年前

    一种可能的解决方案是:

    df_o['ratioab'] = (df_o['a'] / df_o['b']).replace(np.inf, 0)
    
        2
  •  0
  •   Dawid_Sielski    6 年前

    df_o[df_o['ratioab'] == np.inf] = 0