首页 > 解决方案 > 将值转换为数据框或特定列中阈值的虚拟变量

问题描述

我想在一个衬里或使用 pandas 内置函数在下面重现这个确切的代码:

您有一个包含 N 列值的数据框,您希望将 1 分配给正值,将 0 分配给负值

mask_dummies_1 = df > 0    # Create a mask for positive values
mask_dummies_0 = df < 0    # Create a mask for negative values
df[mask_dummies_1] = 1     # apply positive mask and take the value 1
df[mask_dummies_0] = 0     # apply positive mask and take the value 0

我知道那很脏^^'你猜吗?

标签: pythondataframedummy-variable

解决方案


解决方案,一个班轮,明确的:

df = 1 * (df > 0)

对于一列:

df['col'] = 1 * (df['col'] > 0)

推荐阅读