Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mencetak Tatasusunan NumPy Cantik Tanpa Notasi Saintifik dan dengan Ketepatan Tertentu?

Bagaimana Mencetak Tatasusunan NumPy Cantik Tanpa Notasi Saintifik dan dengan Ketepatan Tertentu?

DDD
DDDasal
2024-12-08 11:41:111066semak imbas

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

Cetak cantik tatasusunan NumPy tanpa tatatanda saintifik dan dengan ketepatan yang diberikan

Apabila mencetak tatasusunan NumPy apungan, ia selalunya menghasilkan beberapa perpuluhan dan menggunakan format saintifik, menjadikannya sukar dibaca, terutamanya untuk tatasusunan berdimensi rendah. Memandangkan tatasusunan NumPy perlu dicetak sebagai rentetan, ini menimbulkan persoalan mencari penyelesaian untuk isu ini.

Menggunakan numpy.set_printoptions membolehkan anda menetapkan ketepatan yang diingini untuk output anda. Dengan menetapkan pilihan ini, anda boleh mengawal bilangan tempat perpuluhan yang dipaparkan.

Untuk meningkatkan lagi kebolehbacaan, anda boleh melumpuhkan tatatanda saintifik menggunakan pilihan sekat. Ini memastikan nombor kecil dipaparkan dalam tatatanda standard.

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. ]

Jika anda menggunakan NumPy versi 1.15.0 atau lebih baru, anda boleh memanfaatkan pengurus konteks numpy.printoptions untuk aplikasi cetakan setempat pilihan. Dalam konteks, tetapan cetakan yang diingini digunakan, tetapi kembali kepada tetapan lalai di luar.

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]

Untuk mengelakkan sifar daripada dialih keluar dari penghujung terapung, anda boleh menggunakan parameter pemformat dalam np.set_printoptions. Parameter ini membolehkan anda menentukan fungsi format untuk setiap jenis data.

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]

Atas ialah kandungan terperinci Bagaimana Mencetak Tatasusunan NumPy Cantik Tanpa Notasi Saintifik dan dengan Ketepatan Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn