728x90
반응형
Pandas에서 인덱싱은 데이터프레임에서 특정 행과 열을 선택하는 것을 의미합니다. 인덱싱은 기본적으로 정수 인덱스를 사용하지만, 문자열 인덱스도 사용할 수 있습니다.
Pandas에서 인덱싱을 할 때 사용할 수 있는 방법은 다음과 같습니다.
- [] 연산자를 사용한 인덱싱: df['column_name'] 또는 df[column_name]을 사용하여 특정 열을 선택할 수 있습니다. 여러 개의 열을 선택할 경우 대괄호 안에 리스트 형태로 열 이름을 전달할 수 있습니다. 예를 들어, df[['col1', 'col2']]은 col1과 col2 열을 포함하는 데이터프레임을 반환합니다. 인덱싱으로 행을 선택할 경우에는 정수 인덱스를 사용합니다. 예를 들어, df[0]은 첫 번째 행을 선택합니다.
- loc[] 속성을 사용한 인덱싱: df.loc[row_index, column_index]를 사용하여 특정 행과 열을 선택할 수 있습니다.
- iloc[] 속성을 사용한 인덱싱: df.iloc[row_index, column_index]를 사용하여 특정 행과 열을 선택할 수 있습니다. 이 속성은 정수 인덱스만 사용할 수 있으며, 인덱스가 정수가 아닌 경우에는 오류가 발생합니다.
- 슬라이싱을 사용한 인덱싱: 기본적인 슬라이싱 문법을 사용하여 행과 열을 선택할 수 있습니다. 예를 들어, 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
반응형
'프로그래밍 > 파이썬(Python)' 카테고리의 다른 글
파이썬(Python) 개발 환경 설치 (2) | 2023.02.08 |
---|---|
파이썬(Python) 예외처리(Exception) (3) | 2023.01.01 |
파이썬(Python) 문자열 다루기 (0) | 2022.12.30 |
파이썬(Python) Pandas Series, Dataframe 관계 (0) | 2022.12.30 |
파이썬(Python) Pandas Series 산술, 논리 연산 (0) | 2022.12.30 |