Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Pandas로 DataFrame 생성하는 방법 총정리

DataFrame(데이터프레임)은 2차원 데이터 구조입니다. 행(row)과 열(column)로 이루어진 표 형태로 데이터를 표현하며, 엑셀 스프레드시트나 SQL 테이블과 매우 유사한 구조를 가지고 있습니다. DataFrame은 파이썬의 대표적인 데이터 분석 라이브러리인 Pandas에서 제공하는 핵심 객체입니다.

DataFrame을 생성하려면 먼저 pandas 모듈을 임포트해야 합니다. DataFrame은 DataFrame() 함수를 사용해 만들 수 있으며, 이 함수는 한 개 또는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 테이블에 채워 넣을 데이터로, 딕셔너리의 리스트 또는 리스트의 리스트 형태로 전달할 수 있습니다. 리스트의 리스트 형태로 데이터를 전달할 경우에는 두 번째 매개변수로 열 이름(columns)을 함께 지정해 주어야 합니다.

딕셔너리로 DataFrame 생성하기

딕셔너리의 키(key)가 자동으로 열 이름이 되고, 값(value)의 리스트가 각 열의 데이터가 됩니다.

import pandas as pd

data = {'Name': ['Karan', 'Rohit', 'Sahil', 'Aryan'],
'Age': [23, 22, 21, 24]}

df = pd.DataFrame(data)

df # 데이터프레임 출력

위 코드를 실행하면 'Name'과 'Age'라는 두 개의 열을 가진 테이블이 생성되며, 제공된 데이터가 각 열에 순서대로 채워집니다.

    Name  Age
0 Karan 23
1 Rohit 22
2 Sahil 21
3 Aryan 24

리스트의 리스트로 DataFrame 생성하기

데이터를 중첩 리스트 형태로 전달하는 방식입니다. 이 경우 열 이름이 미리 정해져 있지 않으므로, columns 인자를 통해 직접 지정해야 합니다.

import pandas as pd

data = [['Karan', 23], ['Rohit', 22], ['Sahil', 21], ['Aryan', 24]]

df = pd.DataFrame(data, columns=['Name', 'Age'])

df

이 방법 역시 앞선 예제와 동일한 결과를 출력합니다. 유일한 차이점은 데이터를 전달하는 형식뿐입니다. 열 이름이 사전에 정의되어 있지 않기 때문에 반드시 DataFrame() 함수의 인자로 열 이름 목록을 넘겨주어야 한다는 점에 유의하세요.

사용자 지정 인덱스를 가진 DataFrame 생성하기

기본적으로 DataFrame의 행 인덱스는 0부터 시작하는 정수입니다. index 매개변수를 사용하면 원하는 문자열이나 값으로 인덱스를 변경할 수 있습니다.

import pandas as pd

data = {'Name': ['Karan', 'Rohit', 'Sahil', 'Aryan'],
'Age': [23, 22, 21, 24]}

df = pd.DataFrame(data, index=['No.1', 'No.2', 'No.3', 'No.4'])

df

이 코드는 index 리스트에 지정된 값대로 행 인덱스가 설정된 동일한 DataFrame을 생성합니다.

       Name  Age
No.1 Karan 23
No.2 Rohit 22
No.3 Sahil 21
No.4 Aryan 24

마무리

지금까지 Pandas에서 DataFrame을 만드는 세 가지 대표적인 방법을 살펴보았습니다. 딕셔너리를 사용하면 열 이름까지 한 번에 정의할 수 있어 가장 많이 활용되며, 리스트 기반 방식은 이미 정리된 데이터를 빠르게 변환할 때 유용합니다. 상황에 맞는 방식을 선택해 효율적으로 데이터를 다루어 보세요.