Pandas

윤수환·2025년 4월 6일

판다스 설치

pip install pandas


판다스 데이터 객체

DataFrame 객체

DataFrame 객체는 행과 열로 이루어진 2차원 데이터를 다루기 위한 객체입니다. 열은 각각의 변수를 나타내고, 행은 각각의 관측치를 나타냅니다. DataFrame 객체는 여러 가지 방법으로 생성할 수 있습니다.

# 리스트를 사용하여 DataFrame 객체 생성하기
import pandas as pd

data = [['A', 1], ['B', 2], ['C', 3]]
df = pd.DataFrame(data, columns=['col1', 'col2'])
print(df)
# 출력 결과
#   col1  col2
# 0    A     1
# 1    B     2
# 2    C     3

# 딕셔너리를 사용하여 DataFrame 객체 생성하기

data = {'col1': ['A', 'B', 'C'], 'col2': [1, 2, 3]}
df = pd.DataFrame(data)
print(df)
# 출력 결과
#   col1  col2
# 0    A     1
# 1    B     2
# 2    C     3

# CSV 파일을 사용하여 DataFrame 객체 생성하기
df = pd.read_csv('data.csv')
print(df)

Series 객체

Series 객체는 인덱스와 값으로 이루어진 1차원 데이터를 다루기 위한 객체입니다. Series 객체는 DataFrame 객체에서 열을 선택하여 추출할 수 있습니다.

# 리스트를 사용하여 Series 객체 생성하기
import pandas as pd

data = [1, 2, 3]
s = pd.Series(data, index=['a', 'b', 'c'])
print(s)
# 출력 결과
# a    1
# b    2
# c    3
# dtype: int64

# 딕셔너리를 사용하여 Series 객체 생성하기
data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)
print(s)
# 출력 결과
# a    1
# b    2
# c    3
# dtype: int64

판다스 기본 사용법

데이터 불러오기

판다스에서는 다양한 형태의 데이터를 불러올 수 있습니다. 대표적인 데이터 형식으로는 CSV, Excel, SQL 등이 있습니다.

CSV 파일 불러오기

  • CSV(Comma-Separated Values) 파일은 쉼표로 구분된 데이터를 저장하는 파일 형식입니다. 판다스에서는 read_csv() 함수를 이용하여 CSV 파일을 불러올 수 있습니다.
import pandas as pd

# CSV 파일 불러오기
df = pd.read_csv('data.csv')

Excel 파일 불러오기

  • Excel 파일은 스프레드시트 프로그램에서 생성한 데이터를 저장하는 파일 형식입니다. 판다스에서는 read_excel() 함수를 이용하여 Excel 파일을 불러올 수 있습니다.
import pandas as pd

# Excel 파일 불러오기
df = pd.read_excel('data.xlsx')

데이터 살펴보기

데이터를 불러온 후에는 데이터의 구조와 내용을 살펴볼 필요가 있습니다. 판다스에서는 다음과 같은 함수를 이용하여 데이터를 살펴볼 수 있습니다.

데이터프레임 정보 확인하기

  • info() 함수는 데이터프레임의 정보를 출력합니다. 데이터프레임의 크기, 데이터 타입, 결측치 등의 정보를 확인할 수 있습니다.
# 데이터프레임 정보 확인하기
df.info()

데이터프레임 일부 데이터 보기

  • head() 함수는 데이터프레임의 첫 n행을 출력합니다. n은 인자로 전달될 수 있습니다. 기본값은 5입니다.
# 데이터프레임 일부 데이터 보기
df.head()

데이터프레임 요약 통계량 보기

  • describe() 함수는 데이터프레임의 요약 통계량을 출력합니다. 각 열의 개수, 평균, 표준편차, 최소값, 25% 백분위수, 중앙값, 75% 백분위수, 최대값 등의 정보를 확인할 수 있습니다.
# 데이터프레임 요약 통계량 보기
df.describe()

데이터 선택하기

데이터프레임에서는 특정한 열이나 행을 선택하여 데이터를 조회할 수 있습니다.

열 선택하기

  • 특정한 열을 선택할 때는 데이터프레임의 열 이름을 사용합니다.
# 열 선택하기
df['열 이름']

여러 개의 열을 선택할 때는 리스트 형태로 열 이름을 전달합니다.

# 여러 개의 열 선택하기
df[['열 이름 1', '열 이름 2', ...]]

행 선택하기

  • 특정한 행을 선택할 때는 loc[] 함수를 사용합니다. loc[] 함수는 행의 이름 또는 인덱스를 사용하여 행을 선택합니다.
# 행 선택하기
df.loc[행 이름 또는 인덱스]

여러 개의 행을 선택할 때는 리스트 형태로 행 이름 또는 인덱스를 전달합니다.

# 여러 개의 행 선택하기
df.loc[[행 이름 또는 인덱스 1, 행 이름 또는 인덱스 2, ...]]

데이터 필터링하기

데이터프레임에서는 특정한 조건을 만족하는 데이터만 선택하여 조회할 수 있습니다.

조건 필터링하기

  • 조건 필터링은 [] 연산자와 조건식을 이용하여 수행합니다.
# 조건 필터링하기
df[조건식]

예를 들어, 2010년 이후의 데이터만 선택하고 싶을 때는 다음과 같이 작성할 수 있습니다.

# 2010년 이후의 데이터만 선택하기
df[df['Year'] >= 2010]

논리 연산자 이용하기

  • &(and)와 |(or) 연산자를 이용하여 논리 연산을 수행할 수 있습니다.
# 논리 연산자 이용하기
df[(조건식 1) & (조건식 2)]
df[(조건식 1) | (조건식 2)]

예를 들어, 2010년 이후이면서 금메달 이상을 획득한 데이터만 선택하고 싶을 때는 다음과 같이 작성할 수 있습니다.

# 2010년 이후이면서 금메달 이상을 획득한 데이터만 선택하기
df[(df['Year'] >= 2010) & (df['Medal'] == 'Gold')]

isin() 함수 이용하기

  • isin() 함수를 이용하여 특정한 값이 포함된 데이터만 선택할 수 있습니다.
# isin() 함수 이용하기
df[df['열 이름'].isin([1,2, ...])]

예를 들어, 'KOR', 'USA', 'JPN' 국가의 데이터만 선택하고 싶을 때는 다음과 같이 작성할 수 있습니다.

# 'KOR', 'USA', 'JPN' 국가의 데이터만 선택하기
df[df['NOC'].isin(['KOR', 'USA', 'JPN'])]

데이터 그룹화하기

데이터프레임에서는 특정한 기준에 따라 데이터를 그룹화하여 처리할 수 있습니다.

groupby() 함수 이용하기

  • groupby() 함수를 이용하여 특정한 열을 기준으로 데이터를 그룹화할 수 있습니다.
# groupby() 함수 이용하기
df.groupby('열 이름')

groupby() 함수로 그룹화한 데이터는 각 그룹에 대한 정보를 담고 있는 객체입니다. 이를 바탕으로 다양한 처리를 수행할 수 있습니다.

집계 함수 이용하기

  • 그룹화된 데이터에 대해 집계 함수를 이용하여 다양한 처리를 수행할 수 있습니다.
# 집계 함수 이용하기
그룹화된 데이터.집계함수()

그룹화된 데이터에 대해 적용할 수 있는 집계 함수는 다양합니다. 일반적으로 사용되는 집계 함수는 다음과 같습니다.

데이터 정렬하기

데이터프레임에서는 특정한 열을 기준으로 데이터를 정렬할 수 있습니다. 기본적으로 오름차순으로 정렬되며, 내림차순으로 정렬하려면 ascending=False 옵션을 추가합니다.

# 오름차순으로 정렬하기
df.sort_values('열 이름')

# 내림차순으로 정렬하기
df.sort_values('열 이름', ascending=False)

Index 초기화하기

데이터프레임에서는 reset_index() 함수를 이용하여 인덱스를 초기화할 수 있습니다. 이때 기존 인덱스는 열로 추가됩니다.

# 인덱스 초기화하기
df.reset_index()

0개의 댓글