首页 > 解决方案 > 当我得到科学数字但想输入一个数字的输出时

问题描述

我的输入是这个

from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
ct = ColumnTransformer(transformers=[('encoder', OneHotEncoder(), [0])],
                       remainder='passthrough')
x = np.array(ct.fit_transform(x))
print(x)

输出是这个

[1.00000000e+00 0.00000000e+00 0.00000000e+00 3.70000000e+01
  6.70000000e+04]]

标签: python

解决方案


代码没有问题,只是格式化。

我认为您的特定问题可以通过设置精度来解决,例如使用 np.around 和设置小数参数。

import numpy as np
a = np.array([1e-9, 1e-2])
print(a)
# array([1.e-09, 1.e-02])
np.around(a, decimals=3)
# array([0.  , 0.01])

推荐阅读