比较列值熊猫

时间:2018-08-16 10:05:02

标签: python-3.x pandas

我有两个这样创建的列:

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']

这可行,但是我找不到避免对熊猫等于Inf的x/00/x的方法。在这种情况下,我希望设置df_o['ratioab'] = 0

这不起作用:

if (0 == df_o['a']).all() | (0 == df_o['b']).all():
    df_ohlc['ratioab'] = 0

2 个答案:

答案 0 :(得分:1)

一种可能的解决方案是:

df_o['ratioab'] = (df_o['a'] / df_o['b']).replace(np.inf, 0)

答案 1 :(得分:0)

您也可以使用类似这样的内容:

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