중첩된 리스트에서 NumPy 배열 생성 시 과학적 표기법 억제하기

2024-06-08

Python, NumPy 및 숫자 형식 사용하여 중첩된 리스트에서 배열 생성 시 과학적 표기법 억제

중첩된 리스트에서 NumPy 배열을 생성할 때 과학적 표기법 사용을 억제하는 방법입니다.

필수 조건:

  • Python
  • NumPy

단계:

  1. 필요한 라이브러리 가져오기:
import numpy as np
  1. 중첩된 리스트 준비:
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  1. 배열 생성 및 과학적 표기법 억제:
# 기본 방식 (과학적 표기법 사용)
array = np.array(data)
print(array)

# 과학적 표기법 억제
array = np.array(data, dtype=np.int32)  # 데이터 형식 지정
print(array)

설명:

  • np.array() 함수는 리스트를 NumPy 배열로 변환합니다. 기본적으로 배열의 데이터 형식은 'float64'이며, 큰 숫자는 과학적 표기법으로 표시됩니다.
  • dtype=np.int32 매개변수를 사용하여 배열의 데이터 형식을 'int32'로 지정하면 모든 숫자가 정수로 표시되고 과학적 표기법이 사용되지 않습니다.

참고:

  • 데이터가 실제로 정수인 경우 dtype=np.int32를 사용하여 메모리 사용량을 줄일 수 있습니다.
  • 데이터가 실제로 소수점 값을 포함하는 경우 dtype=np.float32 또는 dtype=np.float64와 같은 다른 데이터 형식을 사용해야 합니다.



import numpy as np

# 중첩된 리스트 준비
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 기본 방식 (과학적 표기법 사용)
array = np.array(data)
print("기본 배열:")
print(array)

# 과학적 표기법 억제
array = np.array(data, dtype=np.int32)
print("\n과학적 표기법 억제된 배열:")
print(array)
기본 배열:
[[1.000000e+00 2.000000e+00 3.000000e+00]
 [4.000000e+00 5.000000e+00 6.000000e+00]
 [7.000000e+00 8.000000e+00 9.000000e+00]]

과학적 표기법 억제된 배열:
[[1 2 3]
 [4 5 6]
 [7 8 9]]

설명:

  • 첫 번째 출력에서 array는 기본적으로 'float64' 데이터 형식을 사용하기 때문에 숫자가 과학적 표기법으로 표시됩니다.
  • 두 번째 출력에서 arraydtype=np.int32 매개변수를 사용하여 생성되었기 때문에 모든 숫자가 정수로 표시되고 과학적 표기법이 사용되지 않습니다.



대체 방법: np.set_printoptions 사용

np.set_printoptions 함수를 사용하여 NumPy 배열 출력 형식을 설정하고 과학적 표기법 억제하는 방법입니다.

필수 조건:

  • Python
  • NumPy

단계:

  1. 필요한 라이브러리 가져오기:
import numpy as np
  1. 중첩된 리스트 준비:
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  1. np.set_printoptions 사용하여 출력 형식 설정:
# 소수점 자리수 설정 (예: 0으로 설정하면 소수점 표시 안 함)
np.set_printoptions(precision=0)

# 배열 생성
array = np.array(data)

# 배열 출력
print(array)

설명:

  • np.set_printoptions 함수는 NumPy 배열 출력 형식을 설정하는 데 사용됩니다.
  • precision 매개변수는 출력될 소수점 자리수를 지정합니다. 0으로 설정하면 소수점이 표시되지 않고 과학적 표기법도 사용되지 않습니다.
  • 이 방법은 배열 출력 형식을 영향만 주며, 배열 자체의 데이터 형식은 변경하지 않습니다.

참고:

  • np.format_float_positional 함수를 사용하여 더욱 정밀한 출력 형식 설정이 가능합니다.
  • np.savetxt 함수를 사용하여 배열을 텍스트 파일에 저장할 때도 출력 형식을 설정할 수 있습니다.

예제 코드:

import numpy as np

# 중첩된 리스트 준비
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 소수점 자리수 설정 (0으로 설정하면 소수점 표시 안 함)
np.set_printoptions(precision=0)

# 배열 생성
array = np.array(data)

# 배열 출력
print("과학적 표기법 억제된 배열:")
print(array)

출력:

과학적 표기법 억제된 배열:
[[1 2 3]
 [4 5 6]
 [7 8 9]]
  • np.set_printoptions(precision=0)을 사용하여 소수점 자리수를 0으로 설정했습니다.
  • 결과적으로 배열 출력에서 과학적 표기법 없이 모든 숫자가 정수로 표시됩니다.

python numpy number-formatting


Django 검색 앱: 최고의 선택은 무엇일까요?

최적의 앱 선택:최적의 Django 검색 앱은 개별적인 프로젝트의 요구 사항에 따라 달라집니다. 다음은 앱을 선택할 때 고려해야 할 몇 가지 요소입니다.데이터 양: 검색할 데이터 양이 많으면 Elasticsearch와 같은 확장 가능한 검색 엔진이 필요할 수 있습니다...


SQLAlchemy를 사용하여 테이블에서 최대/최소/평균 값 가져오기

필요한 라이브러리 설치먼저, 작업에 필요한 SQLAlchemy 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.데이터베이스 연결 및 테이블 정의SQLAlchemy를 사용하기 전에 데이터베이스에 연결하고 작업할 테이블을 정의해야 합니다...


Python, Django, datetime에서 사용하는 pytz 타임존 목록 확인하기

타임존 목록 확인 방법:pytz. all_timezones 사용: import pytz for timezone in pytz. all_timezones: print(timezone) 위 코드는 pytz. all_timezones 리스트에 있는 모든 타임존 이름을 출력합니다...


Pandas 데이터프레임 역순 정렬하기: 효율적인 방법 비교

sort_values() 함수를 사용하면 데이터프레임을 기준 열에 따라 오름차순 또는 내림차순으로 정렬할 수 있습니다. 데이터프레임을 역순으로 정렬하려면 ascending=False 키워드 인수를 사용합니다.iloc[] 인덱싱을 사용하면 데이터프레임의 행을 슬라이싱하여 역순으로 정렬할 수 있습니다...


데이터 분석을 위한 필수 기술: 특정 문자열을 포함하는 열 찾기 (Python)

filter() 함수 사용:위 코드는 'python'이라는 문자열을 포함하는 열 이름만 선택하여 새로운 데이터프레임을 만듭니다. 결과는 다음과 같습니다.str. contains() 메서드 사용:위 코드는 str. contains() 메서드를 사용하여 열 이름 문자열에 'python'이 포함되는지 확인합니다...


python numpy number formatting