如何在Python中替换pandas中的整数值?

EmJ*_*EmJ 3 python replace dataframe pandas

我有一个熊猫数据框,如下所示。

   a  b  c  d  e
a  0  1  0  1  1
b  1  0  1  6  3
c  0  1  0  1  2
d  5  1  1  0  8
e  1  3  2  8  0
Run Code Online (Sandbox Code Playgroud)

我想用 0 替换低于 6 的值。<=5所以我的输出应该如下。

   a  b  c  d  e
a  0  0  0  0  0
b  0  0  0  6  0
c  0  0  0  0  0
d  0  0  0  0  8
e  0  0  0  8  0
Run Code Online (Sandbox Code Playgroud)

我试图使用以下代码来做到这一点。

df['a'].replace([1, 2, 3, 4, 5], 0)
df['b'].replace([1, 2, 3, 4, 5], 0)
df['c'].replace([1, 2, 3, 4, 5], 0)
df['d'].replace([1, 2, 3, 4, 5], 0)
df['e'].replace([1, 2, 3, 4, 5], 0)
Run Code Online (Sandbox Code Playgroud)

然而,我确信在 pandas 中有一种更简单的方法来完成这项任务。

如果需要,我很乐意提供更多详细信息。

WeN*_*Ben 5

使用mask

df=df.mask(df<=5,0)
df
Out[380]: 
   a  b  c  d  e
a  0  0  0  0  0
b  0  0  0  6  0
c  0  0  0  0  0
d  0  0  0  0  8
e  0  0  0  8  0
Run Code Online (Sandbox Code Playgroud)