> 백엔드 개발 > 파이썬 튜토리얼 > 과학적 표기법 없이 지정된 정밀도로 NumPy 배열을 예쁘게 인쇄하는 방법은 무엇입니까?

과학적 표기법 없이 지정된 정밀도로 NumPy 배열을 예쁘게 인쇄하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-08 11:41:11
원래의
1065명이 탐색했습니다.

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]
로그인 후 복사

부동 소수점 끝에서 0이 제거되는 것을 방지하려면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿