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'열까지 선택

+ Recent posts