pandas는 Series, DataFrame 두개를 중심으로 데이터를 다룬다.
그 중 DataFrame에서 주로 사용하는 명령을 먼저 간단히 정리해 본 다음, loc와 iloc를 알아볼 것이다.
먼저 라이브러리를 읽어들인다.
import pandas as pd
import numpy as np
그 다음 사용할 데이터를 DataFrame 데이터 유형으로 만든다.
dates = pd.date_range('2023-09-01', periods=6)
df = pd.DataFrame(np.random.randn(6,5), index = dates, columns=['A', 'B', 'C', 'D', 'E'])
df
head() 명령을 사용하면 기본적으로 첫 5행을 보여준다. 괄호에 숫자를 기입하면 그 숫자만큼 행을 더 볼 수 있다.
df.head()
index, columns 명령을 사용하면 DataFrame의 컬럼과 인덱스를 확인할 수 있다.
df.index
df.columns
DataFrame에 값들은 values 명령을 사용해 확인하면 된다.
df.values
info() 명령을 사용하면 DataFrame의 개요를 알 수 있다.
df.info()
describe() 명령을 사용하면 통계적 개요를 확인할 수 있다.
df.describe()
sort_values() 명령은 by로 지정된 컬럼을 기준으로 정렬된다. ascending 옵션을 사용하면 오름차순(=True)이나 내림차순(=False)으로 정렬할 수 있다.
df.sort_values(by='C', ascending=True)
DataFrame.loc
인덱스인 dates 변수를 사용해 특정 날짜의 데이터만 보고 싶으면 df.loc 명령을 사용하면 된다. loc는 location 옵션으로 슬라이싱할 때 loc 옵션을 이용해서 위치 값을 지정할 수 있다.
df.loc[dates[0]]
컬럼을 지정한 후 모든 행을 보고 싶다면, 다음과 같이 하면 된다.
df.loc[:, ['B', 'D']]
행과 열의 범위를 모두 지정해 볼 수도 있다.
df.loc['2023-09-03':'2023-09-05', ['B', 'D']]
DataFrame.iloc
loc 명령과 달리 행과 열의 번호를 이용해 데이터에 바로 접근하려고 할 때는 iloc 명령을 사용한다.
iloc를 사용하면 행이나 열의 범위를 지정하면 된다. 특히 콜론(:)을 사용하면 전체 데이터를 불러온다.
아래 명령 iloc[4]는 5번째 행의 전체 컬럼 값을 불러오게 된다. 0번부터 시작하기 때문에 5번 행을 불러오게 된다.
df.iloc[4]
다음과 같이 범위를 정해서 불러올 수도 있다. 2번째 행부터 5번째 앞, 즉 2번째~4번째 행과 0번부터 2번째 열의 데이터만 가져오게 된다.
df.iloc[2:5, 0:3]
범위가 아니라 콤마(,)로 행이나 열을 지정해 데이터를 가져올 수도 있다. 행이나 열에 대해 전체를 가져오고 싶은 곳에는 그냥 콜론(:)을 사용한다.
df.iloc[1:4, :]
DataFrame에서 특정 조건을 만족하는 데이터만 가져올 수도 있다.
다음과 같이 조건을 입력해서 사용한다.
df[df.B > 0]
'파이썬으로 할 수 있는 일 > 파이썬 기초' 카테고리의 다른 글
알고리즘을 적용해 프로그램을 효율화하자 (0) | 2023.10.10 |
---|---|
Time Series 관련 함수들과 kaggle data API 설정 (0) | 2023.10.10 |
jupyter notebook 원격 접속 설정 (1) | 2022.03.08 |
git과 github 기본 명령어 정리 (0) | 2020.01.05 |
데이터 삭제 (Pandas 레시피) (0) | 2019.05.18 |