ホームページ >バックエンド開発 >Python チュートリアル >NumPy 配列を科学表記なしで指定された精度できれいに印刷する方法

NumPy 配列を科学表記なしで指定された精度できれいに印刷する方法

DDD
DDDオリジナル
2024-12-08 11:41:111083ブラウズ

How to Pretty-Print NumPy Arrays Without Scientific Notation and with Specified Precision?

科学表記法を使用せず、指定された精度で NumPy 配列をきれいに出力します

浮動小数点数の NumPy 配列を出力すると、多くの場合、小数点以下の桁が表示されます。また、科学的な形式を使用しているため、特に低次元配列の場合は読みにくくなります。 NumPy 配列は文字列として出力する必要があるため、この問題の解決策を見つけるという問題が生じます。

numpy.set_printoptions を使用すると、出力に必要な精度を設定できます。このオプションを設定すると、表示される小数点以下の桁数を制御できます。

読みやすさをさらに向上させるために、抑制オプションを使用して科学表記法を無効にすることができます。これにより、小さな数値が標準表記法で表示されるようになります。

import numpy as np

x = np.random.random(10)
print(x)
# [ 0.07837821  0.48002108  0.41274116  0.82993414  0.77610352  0.1023732
#   0.51303098  0.4617183   0.33487207  0.71162095]

np.set_printoptions(precision=3)
print(x)
# [ 0.078  0.48   0.413  0.83   0.776  0.102  0.513  0.462  0.335  0.712]
y = np.array([1.5e-10, 1.5, 1500])
print(y)
# [  1.500e-10   1.500e+00   1.500e+03]

np.set_printoptions(suppress=True)
print(y)
# [    0.      1.5  1500. ]

NumPy バージョン 1.15.0 以降を使用している場合は、印刷のローカライズされたアプリケーションに numpy.printoptions コンテキスト マネージャーを活用できます。オプション。コンテキスト内では、必要な印刷設定が適用されますが、外部ではデフォルト設定に戻ります。

x = np.random.random(10)
with np.printoptions(precision=3, suppress=True):
    print(x)
    # [ 0.073  0.461  0.689  0.754  0.624  0.901  0.049  0.582  0.557  0.348]

float の末尾からゼロが削除されないようにするには、np.set_printoptions のフォーマッタ パラメータを利用できます。このパラメータを使用すると、各データ型のフォーマット関数を指定できます。

np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
print(x)
# Output: [ 0.078  0.480  0.413  0.830  0.776  0.102  0.513  0.462  0.335  0.712]

以上がNumPy 配列を科学表記なしで指定された精度できれいに印刷する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。