NumPy 배열을 Pandas DataFrame으로 변환

NumPy 배열을 Pandas DataFrame으로 변환

이 가이드에서는pandas.DataFrame()메서드를 사용하여 numpy 배열을 Pandas DataFrame으로 변환하는 방법을 설명합니다.

numpy 배열을pandas.DataFrame()메소드에 전달하여 NumPy 배열에서 Pandas DataFrames를 생성합니다. DataFrame에 대한 열 이름과 행 인덱스를 지정할 수도 있습니다.

pandas.DataFrame()메서드를 사용하여 NumPy 배열을 Pandas DataFrame으로 변환

NumPy 배열에서 DataFrame을 생성하기 위해 NumPy 배열을pandas.DataFrame()메서드에 전달합니다.

Python
 pythonCopyfrom numpy import random
import pandas as pd

random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))

print("NumPy Data Array is:")
print(data_array)

print("")

data_df = pd.DataFrame(data_array)
print("The DataFrame generated from the NumPy array is:")
print(data_df)

출력:

 textCopyNumPy Data Array is:
[[27 44 77]
 [75 65 47]
 [30 84 86]
 [18  9 41]]

The DataFrame generated from the NumPy array is:
    0   1   2
0  27  44  77
1  75  65  47
2  30  84  86
3  18   9  41

먼저 4 개의 행과 3 개의 열이있는(4,3)크기의 임의 배열을 만듭니다. 그런 다음 배열을 pandas.DataFrame()메서드에 인수로 전달하여 배열에서 data_df라는 DataFrame을 생성합니다. 기본적으로pandas.DataFrame()메서드는 기본 열 이름과 행 색인을 삽입합니다.

pandas.DataFrame()메소드의indexcolumns 매개 변수를 사용하여 열 이름과 행 색인을 설정할 수도 있습니다.

Python
 pythonCopyfrom numpy import random
import pandas as pd

random.seed(5)
random.randint(100, size=(3, 5))
data_array = random.randint(100, size=(4, 3))
row_indices = ["Row_1", "Row_2", "Row_3", "Row_4"]
column_names = ["Column_1", "Column_2", "Column_3"]

print("NumPy Data Array is:")
print(data_array)

print("")

data_df = pd.DataFrame(data_array, index=row_indices, columns=column_names)
print("The DataFrame generated from the NumPy array is:")
print(data_df)

출력:

 textCopyNumPy Data Array is:
[[27 44 77]
 [75 65 47]
 [30 84 86]
 [18  9 41]]

The DataFrame generated from the NumPy array is:
       Column_1  Column_2  Column_3
Row_1        27        44        77
Row_2        75        65        47
Row_3        30        84        86
Row_4        18         9        41

여기에서index의 값을 각 행의 색인을 포함하는 목록 인row_indices로 설정합니다. 마찬가지로 각 열의 이름이 포함 된 column_names목록에 columns값을 설정하여 열 이름을 할당합니다.

경우에 따라 NumPy 배열 자체에 행 인덱스와 열 이름이 포함될 수 있습니다. 그런 다음 배열 슬라이싱을 사용하여 배열에서 데이터, 행 인덱스 및 열 이름을 추출합니다.

Python
 pythonCopyimport numpy as np
import pandas as pd

marks_array = np.array(
    [["", "Mathematics", "Economics"], ["Sunny", 25, 23], ["Alice", 23, 24]]
)

print("NumPy Data Array is:")
print(marks_array)

print("")

row_indices = marks_array[1:, 0]
column_names = marks_array[0, 1:]
data_df = pd.DataFrame(
    data=np.int_(marks_array[1:, 1:]), index=row_indices, columns=column_names
)

print("The DataFrame generated from the NumPy array is:")
print(data_df)

출력:

 textCopyNumPy Data Array is:
[['' 'Mathematics' 'Economics']
 ['Sunny' '25' '23']
 ['Alice' '23' '24']]

The DataFrame generated from the NumPy array is:
       Mathematics  Economics
Sunny           25         23
Alice           23         24

NumPy 배열 자체에 행 인덱스와 열 이름이 있습니다. 첫 번째 행과 첫 번째 열 뒤의 모든 값을 선택하여pandas.DataFrame()함수에data 인수로 제공하고 두 번째 행에서 첫 번째 열 값을 모두 선택하여index로 전달합니다. 마찬가지로 두 번째 열에서 첫 번째 행 값을 모두 선택하고 columns인수로 전달하여 열 이름을 설정합니다.

numpy.array()는 배열의 동일한 데이터 형식을 보장하기 위해 NumPy 배열을 만드는 동안 정수 값을 문자열 값으로 변환합니다. numpy.int_()함수를 사용하여 데이터 값을 다시integer 유형으로 변환합니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Pandas DataFrame