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