NumPy 배열로부터 Pandas DataFrame 만들기: 인덱스 열과 열 헤더 지정 방법
다음은 NumPy 배열에서 인덱스 열과 열 헤더를 지정하여 Pandas DataFrame을 만드는 방법에 대한 단계별 가이드입니다.
필요한 라이브러리 가져오기:
먼저 Pandas와 NumPy 라이브러리를 가져와야 합니다.
import pandas as pd
import numpy as np
NumPy 배열 만들기:
다음으로 데이터를 NumPy 배열로 만듭니다.
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
DataFrame 만들기:
pd.DataFrame()
함수를 사용하여 NumPy 배열에서 DataFrame을 만들 수 있습니다.
df = pd.DataFrame(data)
인덱스 열 지정하기:
인덱스 열을 지정하려면 index
인자를 사용합니다. 인덱스 값은 리스트, 넘파이 배열 또는 기타 유형의 데이터 컬렉션일 수 있습니다.
index_data = ['A', 'B', 'C']
df = pd.DataFrame(data, index=index_data)
열 헤더 지정하기:
열 헤더를 지정하려면 columns
인자를 사용합니다. 열 헤더는 리스트, 튜플 또는 기타 유형의 순환 가능한 데이터 컬렉션일 수 있습니다.
column_names = ['col1', 'col2', 'col3']
df = pd.DataFrame(data, index=index_data, columns=column_names)
확인하기:
이제 DataFrame이 만들어졌으며 인덱스 열과 열 헤더가 올바르게 지정되었는지 확인할 수 있습니다.
print(df)
출력:
col1 col2 col3
A 1 2 3
B 4 5 6
C 7 8 9
위 코드에서 보여준 것처럼 index
및 columns
인자를 사용하여 NumPy 배열에서 DataFrame을 만들 때 인덱스 열과 열 헤더를 쉽게 지정할 수 있습니다.
참고:
pd.DataFrame()
함수에는 인덱스 및 열 헤더를 지정하는 데 도움이 되는 여러 인수가 있습니다. 자세한 내용은 Pandas 문서를 참조하십시오.- NumPy 배열 외에도 다양한 데이터 소스를 사용하여 Pandas DataFrame을 만들 수 있습니다.
예제 코드
import pandas as pd
import numpy as np
# NumPy 배열 만들기
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 인덱스 데이터 만들기
index_data = ['A', 'B', 'C']
# 열 헤더 만들기
column_names = ['열1', '열2', '열3']
# DataFrame 만들기
df = pd.DataFrame(data, index=index_data, columns=column_names)
# 출력
print(df)
열1 열2 열3
A 1 2 3
B 4 5 6
C 7 8 9
설명:
- 이 코드는 먼저
pandas
및numpy
라이브러리를 가져옵니다. - 다음으로
data
라는 이름의 NumPy 배열을 만듭니다. 이 배열은 3행 3열의 정수 데이터를 포함합니다. index_data
라는 이름의 리스트를 만들어 인덱스 데이터를 저장합니다. 이 리스트에는 'A', 'B', 'C' 문자가 포함됩니다.pd.DataFrame()
함수를 사용하여 NumPy 배열, 인덱스 데이터 및 열 헤더를 사용하여 DataFrame을 만듭니다.- 마지막으로
print()
함수를 사용하여 DataFrame을 출력합니다.
Pandas DataFrame 만들기: 대체 방법
asindex() 함수 사용:
asindex()
함수를 사용하여 NumPy 배열의 첫 번째 열을 DataFrame의 인덱스로 변환할 수 있습니다.
df = data.asindex(column=0)
df.columns = ['col1', 'col2', 'col3'] # 열 헤더 설정
np.rec.fromarrays() 함수 사용:
np.rec.fromarrays()
함수를 사용하여 NumPy 배열을 Pandas DataFrame으로 변환할 수 있습니다.
data_struct = np.rec.fromarrays([data[:, 0], data[:, 1], data[:, 2]],
names=['index', 'col1', 'col2'])
df = pd.DataFrame(data_struct)
pd.Series.concat() 함수 사용:
df = pd.concat([pd.Series(data[:, 0], name='index'),
pd.Series(data[:, 1], name='col1'),
pd.Series(data[:, 2], name='col2')], axis=1)
zip() 함수와 함께 사용:
df = pd.DataFrame(zip(index_data, data[:, 0], data[:, 1], data[:, 2]),
columns=['index', 'col1', 'col2'])
- 각 방법마다 장단점이 있으므로 특정 상황에 가장 적합한 방법을 선택하는 것이 중요합니다.
- Pandas 문서에서 다양한 DataFrame 생성 방법에 대한 자세한 내용을 확인할 수 있습니다.
python pandas dataframe