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

标签 python pandas dataframe replace

我有一个 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

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

   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

我正在尝试使用以下代码来执行此操作。

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)

但是,我确信在 pandas 中有一种更简单的方法可以完成这项任务。

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

最佳答案

使用掩码

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

关于python - 如何在 python 中替换 pandas 中的整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54758019/

相关文章:

python - 从两个字典中添加值

python - 有和没有 '/' 的路径之间的区别?

python - 使用 groupby 有效计算日期范围内某个值的出现次数

python - 如何在Python中根据条件对多列进行分组并创建新列?

python - Pandas:如何使用 json 数组分解数据框

javascript - 在 Python 和 Javascript 中渲染图形

python - python-3.3 的模拟工具

python - Pandas 计算每个范围之间的值的数量

python - 创建一个数据框作为行索引值和列名称的函数?

python - 在 Pandas 中使用逗号将整列整数转换为千位分隔的字符串