Python 如何删除熊猫中的十进制数字
我有一个带十进制值的数据框,如下所示:Python 如何删除熊猫中的十进制数字,python,pandas,Python,Pandas,我有一个带十进制值的数据框,如下所示: import pandas as pd df = pd.DataFrame({'a':[0.001234, 0.003986, 0.12], 'b':['aa', 'bb', 'cc']}) 我需要将“a”列的小数位数限制为5,不进行舍入。因此,结果应该是: result = pd.DataFrame({'a':[0.00123, 0.00398, 0.12], 'b':['aa', 'bb', 'cc']}) (可以在0.12的末尾添加零,这不是问题
import pandas as pd
df = pd.DataFrame({'a':[0.001234, 0.003986, 0.12], 'b':['aa', 'bb', 'cc']})
我需要将“a”列的小数位数限制为5,不进行舍入。因此,结果应该是:
result = pd.DataFrame({'a':[0.00123, 0.00398, 0.12], 'b':['aa', 'bb', 'cc']})
(可以在0.12的末尾添加零,这不是问题)
我该怎么做?我试过了
df['a'] = df['a'].round(decimals=5)
但当然,正如预期的那样,它并没有起到作用
提前感谢,
M那么:
df['a'] = (df['a'] * 1e5).astype(int) / 1e5
相当于:
df['a'] = (df['a'] // 1e-5) * 1e-5
输出:
a b
0 0.00123 aa
1 0.00398 bb
2 0.12000 cc
@yatu也从dupe
df.a.floordiv(1e-5).div(1e5)
floor除以10**(-5),然后除以10**5就可以了。浮点格式不需要,它会舍入值。