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()메서드에 전달합니다.
from 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)
출력:
NumPy 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()메소드의index 및columns 매개 변수를 사용하여 열 이름과 행 색인을 설정할 수도 있습니다.
from 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)
출력:
NumPy 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 배열 자체에 행 인덱스와 열 이름이 포함될 수 있습니다. 그런 다음 배열 슬라이싱을 사용하여 배열에서 데이터, 행 인덱스 및 열 이름을 추출합니다.
import 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)
출력:
NumPy 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 유형으로 변환합니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn