python - 截断 pandas df 中值的小数位

标签 python pandas math truncate

我可以使用math 中的truncate 函数截断 单个 float 。但是当试图将相同的函数传递给 pandas df 列时,我遇到了一个错误。

import math
import pandas as pd

X = 1.1236

X = math.trunc(1000 * X) / 1000;

#Output
1.123

但是当使用 pandas df 时:

d = ({
    'X' : [1.1234,1.1235],           
    })

df = pd.DataFrame(data=d)

df['X'] = math.trunc(1000 * df['X']) / 1000;

错误:

df['X'] = math.trunc(1000 * df['X']) / 1000;

TypeError: type Series doesn't define __trunc__ method

最佳答案

您可以使用 applymap

trunc = lambda x: math.trunc(1000 * x) / 1000;

df.applymap(trunc)

关于python - 截断 pandas df 中值的小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56782394/

相关文章:

javascript - 它添加了第二个 } 并且不会在级别上添加 1

delphi - Delphi 中泛型类型的算术运算

python - 如何创建带有图像和文本的复选按钮?

python - 将Groupby函数应用于python中的多列并计算

pandas - 有没有办法强制 spark worker 使用分布式 numpy 版本而不是安装在他们身上的版本?

python - pandas 数据框不会根据条件进行更新

math - 为什么编程语言会向下舍入到.6?

python - 使用 pyspark 解析 json 流

python - 试图将 mp3 文件转换为 Numpy 数组,而 ffmpeg 只是挂起

python - 循环更新列表中的项目