[파이썬] pandas에서 데이터 선택 및 인덱싱

파이썬의 데이터 분석 라이브러리인 pandas는 강력한 기능을 제공하여 데이터 선택과 인덱싱을 수행할 수 있습니다. 이를 통해 데이터프레임과 시리즈에서 원하는 데이터를 추출하고 조작할 수 있습니다. 이번 블로그에서는 pandas에서 데이터 선택과 인덱싱의 다양한 방법과 활용법에 대해 알아보겠습니다.

1. 열 선택

1.1. 단일 열 선택

특정 열을 선택하기 위해서는 데이터프레임의 열 이름을 사용하면 됩니다. 다음은 ‘age’ 열을 선택하는 예시입니다.

import pandas as pd

# 데이터프레임 생성
data = {'name': ['John', 'Jane', 'Alice'],
        'age': [25, 27, 30],
        'city': ['Seoul', 'New York', 'London']}
df = pd.DataFrame(data)

# 'age' 열 선택
age = df['age']

print(age)

1.2. 여러 열 선택

여러 개의 열을 선택하기 위해서는 열 이름을 리스트로 전달하면 됩니다. 다음은 ‘name’과 ‘age’ 열을 선택하는 예시입니다.

import pandas as pd

# 데이터프레임 생성
data = {'name': ['John', 'Jane', 'Alice'],
        'age': [25, 27, 30],
        'city': ['Seoul', 'New York', 'London']}
df = pd.DataFrame(data)

# 'name'과 'age' 열 선택
selected_columns = ['name', 'age']
selected_data = df[selected_columns]

print(selected_data)

2. 행 선택

2.1. 단일 행 선택

loc 또는 iloc 인덱서를 사용하여 단일 행을 선택할 수 있습니다. loc은 인덱스 레이블을 사용하고, iloc은 정수 인덱스를 사용합니다. 다음은 첫 번째 행을 선택하는 예시입니다.

import pandas as pd

# 데이터프레임 생성
data = {'name': ['John', 'Jane', 'Alice'],
        'age': [25, 27, 30],
        'city': ['Seoul', 'New York', 'London']}
df = pd.DataFrame(data)

# 첫 번째 행 선택
first_row = df.loc[0]  # or df.iloc[0]

print(first_row)

2.2. 여러 행 선택

여러 개의 행을 선택하기 위해서는 슬라이싱을 사용하거나 loc 또는 iloc 인덱서에 인덱스를 리스트로 전달하면 됩니다. 다음은 두 번째부터 세 번째 행을 선택하는 예시입니다.

import pandas as pd

# 데이터프레임 생성
data = {'name': ['John', 'Jane', 'Alice'],
        'age': [25, 27, 30],
        'city': ['Seoul', 'New York', 'London']}
df = pd.DataFrame(data)

# 두 번째부터 세 번째 행 선택
selected_rows = df[1:3]  # 슬라이싱
# or
# selected_rows = df.loc[1:2]  # or df.iloc[1:2]

print(selected_rows)

3. 조건에 따른 데이터 선택

특정 조건에 따라 데이터를 선택하기 위해서는 불린 인덱싱을 사용합니다. 다음은 ‘age’ 열의 값이 27보다 큰 데이터를 선택하는 예시입니다.

import pandas as pd

# 데이터프레임 생성
data = {'name': ['John', 'Jane', 'Alice'],
        'age': [25, 27, 30],
        'city': ['Seoul', 'New York', 'London']}
df = pd.DataFrame(data)

# 'age' 열의 값이 27보다 큰 데이터 선택
selected_data = df[df['age'] > 27]

print(selected_data)

위의 예시에서는 ‘age’ 열의 값이 27보다 큰 행만 선택되어 출력됩니다.

pandas는 데이터프레임과 시리즈에서 다양한 방법을 제공하여 데이터 선택과 인덱싱 작업을 수행할 수 있습니다. 이를 활용하면 원하는 데이터를 쉽고 간편하게 추출하고 조작할 수 있습니다. 다양한 예시 코드를 통해 pandas의 데이터 선택 및 인덱싱 기능을 익혀보세요!