소개
Pandas 를 이용한 데이터 조작의 세계에 오신 것을 환영합니다! DataFrame 은 레이블이 지정된 축 (행 및 열) 을 가진 2 차원, 크기 변경 가능하며 잠재적으로 이기종인 테이블 형식 데이터 구조입니다. 이는 현대 데이터 분석에서 가장 일반적으로 사용되는 데이터 구조 중 하나입니다.
이 실습에서는 Pandas DataFrame 을 생성하는 기본적인 메서드를 배우게 됩니다. 간단한 Python dictionary 에서 DataFrame 을 생성하는 것부터 시작하여 열과 인덱스를 사용자 정의하는 방법을 탐색할 것입니다. 모든 작업은 WebIDE 내에서 Python 스크립트를 작성하고 실행하며 수행하게 됩니다.
딕셔너리에서 DataFrame 생성
이 단계에서는 Python 딕셔너리에서 Pandas DataFrame 을 생성하는 가장 일반적인 방법을 배우게 됩니다. 딕셔너리를 사용할 때 키는 열 이름이 되고, 값 (일반적으로 리스트 또는 배열) 은 해당 열의 데이터가 됩니다.
먼저 WebIDE 왼쪽의 파일 탐색기에서 main.py 파일을 엽니다.
이제 main.py 파일에 다음 코드를 추가합니다. 이 코드는 Pandas 라이브러리를 가져오고 학생 데이터 딕셔너리를 정의합니다. 그런 다음 pd.DataFrame()을 사용하여 딕셔너리를 DataFrame 으로 변환하고 결과를 출력합니다.
import pandas as pd
## 딕셔너리 형태의 데이터
student_data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Score': [85, 92, 78]
}
## 딕셔너리로부터 DataFrame 생성
df = pd.DataFrame(student_data)
## DataFrame 출력
print(df)
스크립트를 실행하려면 WebIDE 에서 터미널을 열고 (Terminal -> New Terminal) 다음 명령을 실행합니다. 모든 작업은 ~/project 디렉토리 내에서 수행해야 합니다.
python3 main.py
다음과 같은 출력을 볼 수 있습니다. 이는 딕셔너리 데이터가 0 부터 시작하는 기본 행 인덱스와 함께 깔끔하게 테이블 형식으로 구성된 것을 보여줍니다.
Name Score
0 Alice 85
1 Bob 92
2 Charlie 78
DataFrame 에서 열 이름 지정
이 단계에서는 DataFrame 의 열 순서를 제어하는 방법을 배우게 됩니다. 기본적으로 Pandas 는 딕셔너리의 키 순서를 유지하지 않을 수 있습니다. columns 매개변수에 열 이름 목록을 전달하여 열 순서를 명시적으로 정의할 수 있습니다.
main.py 파일을 수정하여 열 순서를 지정해 보겠습니다. 'Name'과 'Score' 열의 순서를 바꾸겠습니다.
main.py 파일을 다음 코드로 업데이트하세요. pd.DataFrame() 함수에 columns 매개변수가 추가된 것을 확인하세요.
import pandas as pd
## 딕셔너리 형태의 데이터
student_data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Score': [85, 92, 78]
}
## DataFrame 생성 및 열 순서 지정
df = pd.DataFrame(student_data, columns=['Score', 'Name'])
## DataFrame 출력
print(df)
이제 터미널에서 스크립트를 다시 실행합니다.
python3 main.py
출력에는 지정한 대로 'Score' 열이 먼저 표시됩니다.
Score Name
0 85 Alice
1 92 Bob
2 78 Charlie
DataFrame 에 인덱스 레이블 추가
이 단계에서는 기본 숫자 인덱스 (0, 1, 2, ...) 를 더 의미 있는 레이블로 바꾸는 방법을 배우게 됩니다. 이는 index 매개변수를 사용하여 수행하며, 각 행에 사용자 정의 인덱스를 할당할 수 있습니다.
DataFrame 에 고유한 학생 ID 를 인덱스로 할당해 보겠습니다. main.py 파일을 수정하여 인덱스 레이블 목록을 포함시키세요.
main.py의 코드를 다음과 같이 업데이트하세요.
import pandas as pd
## 딕셔너리 형태의 데이터
student_data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Score': [85, 92, 78]
}
## 사용자 정의 인덱스 레이블 정의
index_labels = ['ID1', 'ID2', 'ID3']
## 사용자 정의 인덱스로 DataFrame 생성
df = pd.DataFrame(student_data, index=index_labels)
## DataFrame 출력
print(df)
터미널에서 스크립트를 실행합니다.
python3 main.py
이제 기본 숫자 인덱스가 사용자 정의 'ID' 레이블로 대체된 것을 볼 수 있습니다.
Name Score
ID1 Alice 85
ID2 Bob 92
ID3 Charlie 78
점 표기법을 사용하여 DataFrame 열에 액세스
이 단계에서는 DataFrame 의 단일 열에 접근하는 편리한 방법인 점 표기법 (dot notation) 을 배우게 됩니다. 열의 이름이 유효한 Python 식별자 (공백 없음, 숫자로 시작하지 않음 등) 인 경우, DataFrame 객체의 속성으로 접근할 수 있습니다.
점 표기법을 사용하여 DataFrame 에서 'Name' 열만 선택하고 출력해 보겠습니다.
main.py 파일을 수정하여 Name 열에 접근하고 출력하도록 합니다.
import pandas as pd
## 딕셔너리 형태의 데이터
student_data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Score': [85, 92, 78]
}
## DataFrame 생성
df = pd.DataFrame(student_data)
## 점 표기법을 사용하여 'Name' 열에 접근하고 출력
print(df.Name)
터미널에서 스크립트를 실행합니다.
python3 main.py
출력은 Pandas Series 가 되며, 이는 본질적으로 DataFrame 의 단일 열입니다.
0 Alice
1 Bob
2 Charlie
Name: Name, dtype: object
info 메서드를 사용하여 DataFrame 정보 표시
이 단계에서는 .info() 메서드를 사용하는 방법을 배우게 됩니다. 이 메서드는 각 열의 데이터 유형, null 이 아닌 값의 개수, 메모리 사용량 등을 포함하여 DataFrame 의 간결한 요약을 제공하는 필수적인 함수입니다. 새로운 데이터셋을 탐색할 때 매우 유용한 첫 단계입니다.
학생 DataFrame 에 .info() 메서드를 적용해 보겠습니다.
main.py 파일을 수정하여 이 메서드를 호출하도록 합니다. .info()는 요약을 직접 출력하므로 print() 함수로 감쌀 필요가 없습니다.
import pandas as pd
## 딕셔너리 형태의 데이터
student_data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Score': [85, 92, 78]
}
## DataFrame 생성
df = pd.DataFrame(student_data)
## DataFrame 요약 표시
df.info()
터미널에서 스크립트를 실행합니다.
python3 main.py
출력 결과는 DataFrame 의 구조와 내용에 대한 자세한 개요를 제공합니다.
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
## Column Non-Null Count Dtype
--- ------ -------------- -----
0 Name 3 non-null object
1 Score 3 non-null int64
dtypes: int64(1), object(1)
memory usage: 176.0+ bytes
요약
이 실습을 완료하신 것을 축하드립니다! Pandas DataFrame 을 생성하고 검사하는 기본적인 기술을 익히셨습니다.
이 실습에서는 다음을 숙달하셨습니다.
- Python 딕셔너리에서 DataFrame 생성하기.
columns매개변수를 사용하여 열 지정 및 재정렬하기.index매개변수를 사용하여 사용자 지정 행 레이블 할당하기.- 편리한 점 표기법 (dot notation) 을 사용하여 특정 열에 접근하기.
.info()메서드를 사용하여 DataFrame 구조의 간결한 요약 얻기.
이러한 기술은 Pandas 를 사용한 모든 데이터 분석 작업의 필수적인 첫 단계입니다. 이제 더 나아가 탐색할 자체 데이터셋을 만드는 데 필요한 준비를 갖추셨습니다.



