将值转换为数据框或特定列中阈值的虚拟值

Convert values to dummies on threshold in dataframe or specific column

我想在一个衬里或使用 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

我知道那很脏^^' 有什么猜测吗?

解决方案,一行,显式:

df = 1 * (df > 0)

对于一列:

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