我有一个工作正常的小脚本,除了我想控制输出显示的小数位
。 我以为我找到了我需要的东西:
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
表示两位小数。