본문 바로가기
Study/머신러닝

[3] 머신러닝 - 판다스 기초(2)

by 투말치 2021. 5. 16.

목차

    반응형

    ▶판다스 Index 객체

    판다스에서 인덱스는 데이터 프레임의 레코드를 식별할 수 있는 객체다. 

    타이타닉 탑승자 데이터에서 인덱스 객체를 추출해보자 

    탑승자 데이터는 위와 같은 형태다.

     

     

    # 원본 파일 재 로딩 
    titanic_df = pd.read_csv('titanic_train.csv')
    
    # Index 객체 추출
    indexes = titanic_df.index
    print(indexes)
    # Index 객체를 실제 값 arrray로 변환 
    print('Index 객체 array값:\n',indexes.values)
    

    출력값은 다음과 같다.

    인덱스 객체는 1차원 array로 구성되어 있고 인덱싱도 가능하다. 하지만 값을 출력하는 것만 가능하고 인덱스 객체를 수정하는 것은 불가능하다.

     

     

    데이터프레임에는 rest_index() 함수를 사용해 숫자 인덱스를 할당할 수 있다.

    기존 인덱스는 index라는 칼럼으로 추가된다.

    만약 reset_index 함수를 사용할 때 drop이라는 옵션을 True로 설정하면 기존 인덱스가 삭제된다.

     

     

    데이터 셀렉션 및 필터링

    판다스에서 [] 연산자에는 칼럼명, 인덱스로 변환 가능한 표현식만 들어갈 수 있다.

    예제를 통해 살펴보자.

     

    print('단일 컬럼 데이터 추출:\n', titanic_df[ 'Pclass' ].head(3))
    
    print('\n여러 컬럼들의 데이터 추출:\n', titanic_df[ ['Survived', 'Pclass'] ].head(3))
    
    print('[ ] 안에 숫자 index는 KeyError 오류 발생:\n', titanic_df[0])

     

    마지막 경우와 같이 [] 연산자 안에 숫자를 넣게 되면 오류가 발생한다.

     

    ▶DataFrame iloc[] 연산자

    iloc[] 연산자는 위치 기반 인덱싱만 허용하는 연산자다.

     

    위치 기반 인덱싱이란?

    0을 출발점으로 하는 가로축, 세로축 좌표 기반의 행과 열 위치를 기반으로 데이터를 지정하는 것이다.

    행, 열 값으로 정수가 입력된다.

     

    만약 iloc 연산자를 사용해 데이터프레임의 첫번째 행, 첫번째 열의 데이터를 추출하고 싶다면

    df.iloc[0,0]과 같이 사용하면 된다.

     

     

    ▶DataFrame loc[] 연산자

    loc[] 연산자는 명칭 기반으로 데이터를 추출하는 연산자다.

    행 위치에는 데이터프레임의 인덱스 값을, 열 위치에는 칼럼 명을 입력하면 된다.

    loc[]에 슬라이싱을 사용할 때 주의할 점이 한 가지 있다. 보통은 인덱스 범위가 0:2면 0~1까지를 의미하는데 loc[]에서는 0~2까지를 의미한다. 명칭 기반이라 해당 명칭이 숫자가 아닐 수도 있어서 끝값-1을 하지 않는다.

     

     

    ▶불린 인덱싱

    불린 인덱싱은 [], loc[]에서 사용할 수 있다. 그런데 iloc[]에서는 정수형만 인덱스 값으로 올 수 있기 때문에 불린 인덱싱이 지원되지 않는다.

    예제를 통해 어떻게 사용되는지 살펴보자.

     

    titanic_df = pd.read_csv('titanic_train.csv')
    titanic_boolean = titanic_df[titanic_df['Age'] > 60]
    titanic_boolean

    위 코드의 출력결과

    다음과 같은 방식으로 데이터 프레임에서 나이가 60세 초과인 데이터를 추출할 수 있다.

     

     

     

     

     

     

     

     

    출처

    책 - 파이썬 머신러닝 완벽 가이드

    반응형