打印numpy str表示形式2 n小数位

时间:2018-08-22 13:25:42

标签: python-3.x numpy python-3.6

除了我想控制输出显示的小数位数外,我有一个运行良好的小脚本。

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

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

以及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]

1 个答案:

答案 0 :(得分:0)

Replace "{:2}" with "{:.2f}" does what you want. f means that it's float while .2 means two decimals.