首頁 >後端開發 >Python教學 >如何在沒有科學記數法的情況下漂亮地列印 NumPy 數組並保持精度?

如何在沒有科學記數法的情況下漂亮地列印 NumPy 數組並保持精度?

Patricia Arquette
Patricia Arquette原創
2024-12-07 02:21:11814瀏覽

How Can I Pretty-Print NumPy Arrays Without Scientific Notation and Maintain Precision?

漂亮列印的 NumPy 陣列:避免科學記數法並確保精確度

NumPy 陣列通常以科學記數法顯示小數,這使得它們難以解釋。要格式化陣列以提高可讀性,請考慮以下解決方案:

使用 numpy.set_printoptions

numpy.set_printoptions 函數可讓您修改陣列的列印選項。透過將精確度設定為所需的小數位數,您可以根據需要格式化浮點數。此外,將抑制設為 True 會刪除小數字的科學記數法。

import numpy as np

x = np.random.random(10)
np.set_printoptions(precision=3, suppress=True)
print(x)  # Prints [0.073  0.461  0.689 ...]

使用上下文管理器

NumPy 1.15.0 及更高版本提供了一個上下文管理器numpy.printoptions。在此上下文中,任何列印操作都將使用指定的列印選項。

with np.printoptions(precision=3, suppress=True):
    print(x)  # Within the context, options are set
print(x)  # Outside the context, options are back to default.

防止刪除尾隨零

要保留尾隨零,請使用 np 的格式化程式參數.set_printoptions。這允許您為每種資料類型定義自訂格式函數。

np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
print(x)  # Prints [0.078  0.480  0.413 ...]

以上是如何在沒有科學記數法的情況下漂亮地列印 NumPy 數組並保持精度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn