NumPy 배열 초기화하기 (Python, Arrays, NumPy)

2024-05-17

NumPy 배열 초기화하기 (Python, Arrays, NumPy)

NumPy 배열을 초기화하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 다음과 같습니다.

np.array 사용하기

import numpy as np

# 1차원 배열 생성
array_1d = np.array([1, 2, 3, 4, 5])

# 2차원 배열 생성
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# 특정 값으로 채워진 배열 생성
array_filled = np.full((3, 3), 7)  # 모든 값을 7로 채움

np.zeros 사용하기

import numpy as np

# 0으로 채워진 1차원 배열 생성
array_zeros_1d = np.zeros(10)

# 0으로 채워진 2차원 배열 생성
array_zeros_2d = np.zeros((2, 3))

np.ones 사용하기

import numpy as np

# 1로 채워진 1차원 배열 생성
array_ones_1d = np.ones(5)

# 1로 채워진 2차원 배열 생성
array_ones_2d = np.ones((4, 2))

특정 값으로 초기화하기

import numpy as np

# 특정 값으로 채워진 1차원 배열 생성
array_specific = np.array([10, 20, 30])

범위 지정하기

import numpy as np

# 0부터 9까지의 값으로 채워진 1차원 배열 생성
array_arange = np.arange(10)

# 1부터 4까지 1씩 증가하는 값으로 채워진 1차원 배열 생성
array_arange_with_step = np.arange(1, 5, 1)

다양한 데이터 형식 사용하기

import numpy as np

# float 형식의 배열 생성
array_float = np.array([1.0, 2.0, 3.0])

# 문자열 형식의 배열 생성
array_string = np.array(['apple', 'banana', 'orange'])

NumPy 함수 사용하기

NumPy는 배열을 초기화하는 데 유용한 다양한 함수를 제공합니다.

  • np.linspace: 등 간격으로 값을 생성합니다.
  • np.random.rand: 0에서 1 사이의 균일 난수로 채운 배열을 생성합니다.

이 외에도 NumPy 배열을 초기화하는 다양한 방법들이 있습니다.

더 자세한 내용은 NumPy 공식 문서를 참고하십시오: https://numpy.org/doc/




    NumPy 배열 초기화 예제 코드 (Python)

    np.array 사용하기

    import numpy as np
    
    # 1차원 배열 생성
    array_1d = np.array([1, 2, 3, 4, 5])
    print(array_1d)
    
    # 2차원 배열 생성
    array_2d = np.array([[1, 2, 3], [4, 5, 6]])
    print(array_2d)
    
    # 특정 값으로 채워진 배열 생성
    array_filled = np.full((3, 3), 7)
    print(array_filled)
    
    출력:
    [1 2 3 4 5]
    [[1 2 3]
     [4 5 6]]
    [[7 7 7]
     [7 7 7]
     [7 7 7]]
    

    np.zeros 사용하기

    import numpy as np
    
    # 0으로 채워진 1차원 배열 생성
    array_zeros_1d = np.zeros(10)
    print(array_zeros_1d)
    
    # 0으로 채워진 2차원 배열 생성
    array_zeros_2d = np.zeros((2, 3))
    print(array_zeros_2d)
    
    출력:
    [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
    [[0. 0. 0.]
     [0. 0. 0.]]
    

    np.ones 사용하기

    import numpy as np
    
    # 1로 채워진 1차원 배열 생성
    array_ones_1d = np.ones(5)
    print(array_ones_1d)
    
    # 1로 채워진 2차원 배열 생성
    array_ones_2d = np.ones((4, 2))
    print(array_ones_2d)
    
    출력:
    [1. 1. 1. 1. 1.]
    [[1. 1.]
     [1. 1.]
     [1. 1.]
     [1. 1.]]
    

    특정 값으로 초기화하기

    import numpy as np
    
    # 특정 값으로 채워진 1차원 배열 생성
    array_specific = np.array([10, 20, 30])
    print(array_specific)
    
    출력:
    [10 20 30]
    

    범위 지정하기

    import numpy as np
    
    # 0부터 9까지의 값으로 채워진 1차원 배열 생성
    array_arange = np.arange(10)
    print(array_arange)
    
    # 1부터 4까지 1씩 증가하는 값으로 채워진 1차원 배열 생성
    array_arange_with_step = np.arange(1, 5, 1)
    print(array_arange_with_step)
    
    출력:
    [0 1 2 3 4 5 6 7 8 9]
    [1 2 3 4]
    

    다양한 데이터 형식 사용하기

    import numpy as np
    
    # float 형식의 배열 생성
    array_float = np.array([1.0, 2.0, 3.0])
    print(array_float.dtype)
    
    # 문자열 형식의 배열 생성
    array_string = np.array(['apple', 'banana', 'orange'])
    print(array_string.dtype)
    
    출력:
    float64
    <U8
    
    import numpy as np
    
    array_linspace = np.linspace(0, 10, 5)  # 0부터 10까지 5개의 등 간격 값
    print(
    



    기존에 설명드린 방법 외에도 몇 가지 대체 방법을 소개합니다.

    리스트를 사용하기

    import numpy as np
    
    # 리스트로부터 1차원 배열 생성
    list_data = [1, 2, 3, 4, 5]
    array_from_list = np.array(list_data)
    print(array_from_list)
    
    # 리스트로부터 2차원 배열 생성
    list_data_2d = [[1, 2, 3], [4, 5, 6]]
    array_from_list_2d = np.array(list_data_2d)
    print(array_from_list_2d)
    
    출력:
    [1 2 3 4 5]
    [[1 2 3]
     [4 5 6]]
    

    np.fromfile 사용하기

    import numpy as np
    
    # 텍스트 파일로부터 1차원 배열 생성
    with open('data.txt', 'r') as f:
        data = f.read().split()
    array_from_file = np.fromfile(data, dtype=np.float)
    print(array_from_file)
    
    # data.txt 파일에 1, 2, 3, 4, 5 값이 공백으로 구분되어 저장되어 있다고 가정합니다.
    출력:
    [1. 2. 3. 4. 5.]
    

    np.frombuffer 사용하기

    import numpy as np
    
    # 바이너리 버퍼로부터 2차원 배열 생성
    data_buffer = bytearray([1, 2, 3, 4, 5, 6, 7, 8, 9, 12])
    array_from_buffer = np.frombuffer(data_buffer, dtype=np.int8).reshape(3, 3)
    print(array_from_buffer)
    
    출력:
    [[1 2 3]
     [4 5 6]
     [7 8 9]]
    

    특수 문자 사용하기

    import numpy as np
    
    # 특수 문자로 채워진 1차원 배열 생성
    array_special = np.full((5,), '?')
    print(array_special)
    
    출력:
    ['?' '?' '?' '?' '?']
    

    이 외에도 다양한 방법으로 NumPy 배열을 초기화할 수 있습니다.

    어떤 방법을 사용할지는 특정 상황과 필요에 따라 결정해야 합니다.


      python arrays numpy


      time.sleep()으로 스레드를 제어하는 기술: 멀티스레딩 프로그래밍 마스터하기

      파이썬 멀티스레딩 환경에서 time. sleep() 함수를 사용했을 때, 어떤 단위(스레드 또는 프로세스)가 실제로 잠시 중단되는지에 대한 의문이 발생합니다. 이는 멀티스레딩 프로그래밍의 핵심 개념이며, 올바른 이해는 프로그램 설계 및 성능에 큰 영향을 미칠 수 있습니다...


      SQLAlchemy를 사용하여 빈번한 스키마 변경을 효율적으로 관리하는 방법

      SQLAlchemy는 Python에서 데이터베이스와 상호 작용하는 데 사용되는 강력한 객체 관계 매핑(ORM) 도구입니다. 하지만 애플리케이션 개발 과정에서 데이터베이스 스키마가 자주 변경되는 경우 효율적인 관리가 어려울 수 있습니다...


      Python으로 MySQL 쿼리 결과를 CSV 파일에 쓰는 기본 방법

      필수 라이브러리먼저, 다음 라이브러리를 설치해야 합니다:mysql-connector: Python에서 MySQL 서버와 상호 작용하는 데 사용되는 라이브러리입니다.csv: CSV 파일을 읽고 쓰는 데 사용되는 표준 Python 라이브러리입니다...


      PyTorch에서 reshape와 view의 차이점

      기본적인 동작reshape: 텐서의 크기와 모양을 새로운 크기로 변경합니다.view: 텐서의 크기와 모양을 새로운 크기로 변경하는 듯 보이지만, 실제로는 기존 데이터와 같은 메모리 공간을 공유하며 stride 크기만 변경합니다...


      python arrays numpy

      Python과 NumPy를 사용하여 NaN으로 채워진 NumPy 행렬 생성하기

      numpy: NumPy 배열 및 행렬 작업을 위한 기본 라이브러리random: 무작위 수 생성을 위한 라이브러리 (선택 사항)단계:NumPy 가져오기:행렬 크기 지정:NaN으로 채워진 행렬 생성:설명:np. nan은 NumPy에서 NaN(Not a Number) 값을 나타냅니다