728x90
파이썬 pandas는 데이터 분석과 관련된 작업을 쉽게 처리할 수 있는 라이브러리입니다. 이번 글에서는 pandas의 주요 기능 중 하나인 데이터프레임(DataFrame)에 대해 알아보겠습니다.
데이터프레임(DataFrame)
데이터프레임은 엑셀과 유사한 형태의 2차원 자료구조입니다. 행과 열로 이루어져 있으며, 각 열은 서로 다른 데이터 타입을 가질 수 있습니다. 데이터프레임을 만들기 위해서는 리스트, 딕셔너리, 넘파이 배열 등 다양한 형태의 데이터를 활용할 수 있습니다.
데이터프레임 생성하기
아래는 딕셔너리를 이용하여 데이터프레임을 생성하는 방법입니다.
import pandas as pd
data = {'name': ['John', 'Mary', 'Peter', 'Jane'],
'age': [28, 34, 29, 42],
'city': ['Seoul', 'New York', 'Paris', 'London']}
df = pd.DataFrame(data)
print(df)
출력 결과는 다음과 같습니다.
name age city
0 John 28 Seoul
1 Mary 34 New York
2 Peter 29 Paris
3 Jane 42 London
데이터프레임 인덱싱 및 슬라이싱
데이터프레임에서는 열(column)과 행(row)을 각각 인덱싱할 수 있습니다. 열을 인덱싱하는 방법은 딕셔너리의 인덱싱 방법과 유사합니다.
print(df['name'])
# 출력결과
0 John
1 Mary
2 Peter
3 Jane
Name: name, dtype: object
행을 인덱싱하는 방법은 loc 메서드나 iloc 메서드를 사용합니다. loc 메서드는 행 인덱스를 기준으로 인덱싱하며, iloc 메서드는 행 번호를 기준으로 인덱싱합니다.
# loc 메서드를 사용하여 인덱싱하기
print(df.loc[0]) # 첫 번째 행을 출력합니다.
# iloc 메서드를 사용하여 인덱싱하기
print(df.iloc[0]) # 첫 번째 행을 출력합니다.
#출력결과-loc
name John
age 28
city Seoul
Name: 0, dtype: object
#출력결과-iloc
name John
age 28
city Seoul
Name: 0, dtype: object
아래 코드에서 iloc은 인덱스 번호를 사용하여 데이터프레임을 슬라이싱하며, loc은 열 이름을 사용하여 데이터프레임을 슬라이싱합니다.
iloc에서 [:, 1:3]은 모든 행(:)에서 1번째 열부터 3번째 열(3번째 열은 포함되지 않음)까지 선택합니다.
loc에서 [:, 'name':'math']은 모든 행(:)에서 'name'열부터 'math'열까지 선택합니다.
# 열 슬라이싱
# 인덱스를 사용하여 열 슬라이싱
df2 = df.iloc[:, 1:3] # 1번째 열부터 3번째 열(3번째 열은 포함되지 않음)까지 선택
# 열 이름을 사용하여 열 슬라이싱
df3 = df.loc[:, 'name':'math'] # 'name'열부터 'math'열까지 선택
'Python' 카테고리의 다른 글
파이썬으로 웹크롤링하기 - BeautifulSoup (0) | 2022.11.11 |
---|---|
버전 관리하기 - semver 패키지 (0) | 2022.10.27 |
FastAPI - middleware 적용하기 (0) | 2022.10.18 |
python - requirements.txt 파일 생성하기(freeze) 및 설치하기 (0) | 2022.08.14 |
python웹 프레임워크 - FastAPI(1) (0) | 2022.07.29 |