打印 numpy str 表示 2 n 位小数



我有一个工作正常的小脚本,除了我想控制输出显示的小数位

。 我以为我找到了我需要的东西:

https://markhneedham.com/blog/2017/11/19/python-3-typeerror-unsupported-format-string-passed-to-numpy-ndarray 格式/

以及Stackoverflow上的其他一些类似帖子。

我的代码运行没有错误,但两个 print 语句生成完全相同的输出。

将输出限制为小数点后n位的正确方法是什么?(在这个例子中我想要 2(。

法典:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model
# from timeit import Timer

file = 'd:\python\codebasics\machine_learning\homeprices.csv'
df = pd.read_csv(file)
print(df)
print()
plt.xlabel('area(sqr ft)')
plt.ylabel('price(US$)')
plt.scatter(df.area, df.price, color='red', marker='+')
plt.show()
reg = linear_model.LinearRegression()
reg.fit(df[['area']], df.price)
print(reg.predict(3300))
print("{:2}".format(str(np.array(reg.predict(3300)))))

[628715.75342466]
[628715.75342466]

"{:2}"替换为"{:.2f}"执行您想要的操作。f表示它是浮动的,而.2表示两位小数。

最新更新