我試圖擺脫這種格式,使這個文件在另一個軟件中可讀。擺脫陣列數組中的格式e + xx,Python
import numpy as np
test=[5.1056e+02, 6.89752e+05, 4.5987126464655e+03]
np.round(test,6)
print(test)
test2=[[5.1056e+02, 6.89752e+05, 4.5987126464655e+03],[5.1056e+02, 6.89752e+05, 4.5987126464655e+03]]
test2=np.array(test2)
np.round(test2,6)
print(test2)
第1次印刷給我:
[510.56, 689752.0, 4598.7126464655]
第二打印給我:
[[ 5.10560000e+02 6.89752000e+05 4.59871265e+03]
[ 5.10560000e+02 6.89752000e+05 4.59871265e+03]]
現在的第一個結果將是罰款由我,但我的數據看起來像TEST2。但我仍然不明白np.round的第二個參數是什麼,因爲它應該限制小數位數,但我仍然得到4598.7126464655。 但至少我會得到一個可用的格式。
如何在test2這樣的工作上做這項工作? 我嘗試這樣做:
for i in range(np.shape(test2)[0]):
np.round(test2[i])
print(test2)
仍然給我:
[[ 5.10560000e+02 6.89752000e+05 4.59871265e+03]
[ 5.10560000e+02 6.89752000e+05 4.59871265e+03]]
'np.round(test,6)'不會修改'test'對象本身。它返回一個新的對象。所以你必須做'test = np.round(test,6)' – eumiro 2015-02-11 09:26:29