jon*_*boy 2 python math truncate pandas
我可以truncate使用单独的花车truncate在功能上math。但是当试图将相同的函数传递给一pandas df列时,我收到了一个错误。
import math
import pandas as pd
X = 1.1236
X = math.trunc(1000 * X) / 1000;
#Output
1.123
Run Code Online (Sandbox Code Playgroud)
但是当使用 a 时pandas df:
d = ({
'X' : [1.1234,1.1235],
})
df = pd.DataFrame(data=d)
df['X'] = math.trunc(1000 * df['X']) / 1000;
Run Code Online (Sandbox Code Playgroud)
错误:
df['X'] = math.trunc(1000 * df['X']) / 1000;
TypeError: type Series doesn't define __trunc__ method
Run Code Online (Sandbox Code Playgroud)
小智 6
我相信实现这一目标的最简单方法是使用.astype(int)
在您的示例中,它将是:
df[x] = ((df[x]*1000).astype(int).astype(float))/1000
Run Code Online (Sandbox Code Playgroud)
您可以使用 applymap
trunc = lambda x: math.trunc(1000 * x) / 1000;
df.applymap(trunc)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3960 次 |
| 最近记录: |