Pandas - 在屏蔽和 df.where 之后应用乘法
Pandas - apply multiplication after masking and df.where
我可以将掩码应用于整个数据帧,并用给定值 ex,1.0 替换 True 布尔值,如下所示:
0 1
0 0.0 0.0
1 3.0 0.0
与:
mask = (df != 0.0)
df = df.where(mask, 1.0)
然后:
0 1
0 0.0 0.0
1 1.0 0.0
但是,我如何使用乘法因子代替每个 True bool,而不是常量 float
值,例如单元格值 * 0.5,最后为:
0 1
0 0.0 0.0
1 1.5 0.0
你可以这样做:
df[mask] *= 0.5
输出:
0 1
0 0.0 0.0
1 1.5 0.0
我可以将掩码应用于整个数据帧,并用给定值 ex,1.0 替换 True 布尔值,如下所示:
0 1
0 0.0 0.0
1 3.0 0.0
与:
mask = (df != 0.0)
df = df.where(mask, 1.0)
然后:
0 1
0 0.0 0.0
1 1.0 0.0
但是,我如何使用乘法因子代替每个 True bool,而不是常量 float
值,例如单元格值 * 0.5,最后为:
0 1
0 0.0 0.0
1 1.5 0.0
你可以这样做:
df[mask] *= 0.5
输出:
0 1
0 0.0 0.0
1 1.5 0.0