首页 > 解决方案 > Pandas - 替换特定列中的值

问题描述

如果大于 0,我正在尝试替换 Dataframe 中特定列中的所有值。我尝试了以下方法,但它替换了该特定行的所有列。

df.loc[(df['count'] > 0)] = 1

谁能帮忙,谢谢。。

标签: pandas

解决方案


您很接近,需要在第二个参数中指定列:

df.loc[df['count'] > 0, 'count'] = 1

您还可以指定多个列:

df.loc[df['count'] > 0, ['count', 'another col']] = 1

另一种解决方案是:

df['count'] = np.where(df['count'] > 0, 1, df['count'])
#alternative    
#df['count'] = df['count'].mask(df['count'] > 0, 1)

推荐阅读