본문 바로가기
프로그래밍/파이썬(Python)

파이썬(Python) Pandas Series, Dataframe index #2

by comflex 2022. 12. 30.
728x90
반응형

 

Pandas에서 인덱싱은 데이터프레임에서 특정 행과 열을 선택하는 것을 의미합니다. 인덱싱은 기본적으로 정수 인덱스를 사용하지만, 문자열 인덱스도 사용할 수 있습니다.

Pandas에서 인덱싱을 할 때 사용할 수 있는 방법은 다음과 같습니다.

  1. [] 연산자를 사용한 인덱싱: df['column_name'] 또는 df[column_name]을 사용하여 특정 열을 선택할 수 있습니다. 여러 개의 열을 선택할 경우 대괄호 안에 리스트 형태로 열 이름을 전달할 수 있습니다. 예를 들어, df[['col1', 'col2']]은 col1과 col2 열을 포함하는 데이터프레임을 반환합니다. 인덱싱으로 행을 선택할 경우에는 정수 인덱스를 사용합니다. 예를 들어, df[0]은 첫 번째 행을 선택합니다.
  2. loc[] 속성을 사용한 인덱싱: df.loc[row_index, column_index]를 사용하여 특정 행과 열을 선택할 수 있습니다.
  3. iloc[] 속성을 사용한 인덱싱: df.iloc[row_index, column_index]를 사용하여 특정 행과 열을 선택할 수 있습니다. 이 속성은 정수 인덱스만 사용할 수 있으며, 인덱스가 정수가 아닌 경우에는 오류가 발생합니다.
  4. 슬라이싱을 사용한 인덱싱: 기본적인 슬라이싱 문법을 사용하여 행과 열을 선택할 수 있습니다. 예를 들어, df[:5]는 첫 번째부터 5번째 행까지를 선택하고, df[:, 'col1']은 'col1' 열을 선택합니다. 슬라이싱을 사용한 인덱싱은 정수 인덱스뿐만 아니라 문자열 인덱스도 사용할 수 있습니다.

아래 코드는 pandas 인덱싱 방법을 예로 설명한 것입니다. 예제에 사용된 데이터프레임은 다음과 같은 구조를 가지고 있습니다.

  col1 col2 col3
0 1 2 3
1 4 5 6
2 7 8 9

 

import pandas as pd

# 샘플 데이터프레임 생성
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=['col1', 'col2', 'col3'])

# [] 연산자를 사용한 인덱싱
# col1 열을 선택
print(df['col1'])

# 여러 개의 열을 선택할 경우 대괄호 안에 리스트 형태로 열 이름을 전달
print(df[['col1', 'col2']])

# 정수 인덱스를 사용하여 행을 선택
print(df[0])

# .loc[] 속성을 사용한 인덱싱
# col1과 col3 열과 0번째 행을 선택
print(df.loc[0, ['col1', 'col3']])

# .iloc[] 속성을 사용한 인덱싱
# col2 열과 1번째 행을 선택
print(df.iloc[1, 1])

# 슬라이싱을 사용한 인덱싱
# 첫 번째부터 2번째 행까지 선택
print(df[:2])

# 조건을 사용한 인덱싱
# col1 열의 값이 3보다 큰 행을 선택
print(df[df['col1'] > 3])

# 행과 열을 함께 선택
# col2 열과 0번째 행을 선택
print(df.loc[0, 'col2'])

# 인덱스가 정수가 아닌 경우에는 오류가 발생합니다.
# df.loc[0.5, 'col2']  # KeyError: 0.5

# 인덱스가 문자열인 경우에는 오류가 발생합니다.
# df.iloc['a', 1]  # TypeError: cannot do positional indexing on <class 'pandas.core.indexes.base.Index'> with these indexers [a] of <class 'str'>

# 인덱스가 정수가 아닌 경우에는 오류가 발생합니다.
# df.loc[0.5, 'col2']  # KeyError: 0.5

2022.12.30 - [프로그래밍/파이썬(Python)] - 파이썬(Python) Pandas Series, Dataframe index #1

 

파이썬(Python) Pandas Series index

Pandas Series는 색인(index)를 이용해서 각 요소에 접근할 수 있습니다. 색인은 문자열 값이나 정수 값을 사용할 수 있으며, 정수 값을 이용한 색인은 NumPy 배열과 유사합니다. 아래의 코드는 Pandas Seri

com-flex.tistory.com

 

728x90
반응형