Pandas 의 헷 갈 리 기 쉬 운 줄 선택 과 열 선택 을 자세히 설명 합 니 다.

Pandas 를 처음 배 웠 을 때 행 선택 과 열 선택 이 헷 갈 리 기 쉬 우 므 로 여기 서 토론 과 요약 을 진행 합 니 다.
본 논문 의 데이터 출처:https://github.com/fivethirtyeight/data/tree/master/fandango

import pandas as pd

fandango = pd.read_csv('fandango_score_comparison.csv')
원본 데 이 터 는 다음 과 같 습 니 다(일부분 을 캡 처 했 습 니 다)

 줄 선택
Pandas 줄 선택 은 보통 세 가지 방법 이 있 습 니 다.
  • 연속 여러 줄 의 선택 은 python 과 유사 한 목록 절편
  • 지 정 된 색인 에 따라 한 줄 또는 여러 줄 을 선택 하고 loc[]방법
  • 을 사용 합 니 다.
  • 지 정 된 위치 에 따라 한 줄 을 많이 선택 하고 iloc[]방법
  • 을 사용 합 니 다.
    첫 번 째,python 과 유사 한 목록 절편 사용 하기
    
    n = fandango[1:3]

    결 과 를 보면 python 의 목록 절편 과 마찬가지 로 색인 번 호 는 0 부터 색인 번호 1 과 2 의 데 이 터 를 선택 하 였 습 니 다(3 포함 하지 않 음).
     두 번 째,지정 한 색인 에 따라 한 줄 또는 여러 줄 을 선택 하고 loc[]방법 을 사용 합 니 다.
    
    o = fandango.loc[1]
    
    p = fandango.loc[1:3]

    o 는 Series 입 니 다.색인 번호 가 1 인 줄 의 데 이 터 를 선 택 했 습 니 다.p.첫 번 째 목록 색인 과 가장 큰 차이 점 은 색인 번호 가 3 인 줄 의 데 이 터 를 포함 하고 있 습 니 다.
    
    u = fandango.loc[[1,3]]

    여 기 는 색인 번호 에 따라 불 연속 줄 을 선택 합 니 다.
    세 번 째,지 정 된 위치 에 따라 한 줄 을 많이 선택 하고 iloc[]방법 을 사용 합 니 다.
    위의 데이터 에서 iloc[]와 loc[]를 사용 하 는 효 과 는 같 습 니 다.색인 번 호 는 모두 0 에서 시작 되 고 계속 되 기 때문에 지금 은 색인 번호 가 1 과 2 인 이 두 줄 을 삭제 하 겠 습 니 다.
    
    fandango_drop = fandango.drop([1,2], axis=0)

    두 줄 의 데 이 터 를 확실히 삭제 한 것 을 볼 수 있다.
    이때 나 는 여전히 loc[]로 줄 번호 가 2 인 줄 을 색인 하면 오류 가 발생 할 것 이다.
    
    s = fandango_drop.loc[2]

    하지만 저 는 iloc[]를 사용 하여 진행 하 겠 습 니 다.
    
    t = fandango_drop.iloc[2]

    보 셨 죠?iloc[2]는 세 번 째 줄 의 데 이 터 를 선택 한 다 는 뜻 입 니 다.즉,색인 번호 가 4 인 줄 의 데 이 터 를 선택 한 다 는 뜻 입 니 다.iloc[]의 계산 도 0 에서 시작 되 기 때문에 iloc[]는 데 이 터 를 선별 한 후에 색인 번호 가 원래 와 일치 하지 않 는 상황 을 초래 합 니 다.
    loc[]와 iloc[]방법 사이 에 또 하나의 큰 차이 가 있 습 니 다.바로 loc[]의 매개 변 수 는 대응 하 는 색인 값 이면 됩 니 다.그래서 매개 변 수 는 정수 일 수도 있 고 문자열 일 수도 있 습 니 다.한편,iloc[]의 매개 변 수 는 몇 번 째 줄 의 데 이 터 를 표시 하기 때문에 정수 일 수 밖 에 없다.
     열 선택
    열 선택 은 비교적 간단 합 니 다.열 이름 을 직접 전달 하면 됩 니 다.여러 열의 데이터 가 있 으 면 열 이름 이나 열의 색인 번 호 를 따로 지적 해 야 합 니 다.
    첫 번 째,단일 열 을 선택 하고 영화 이름 의 열 을 선택 했다.
    
    q = fandango['FILM']

    두 번 째,지정 한 열 이름 을 통 해 다 열 을 선택 합 니 다.
    
    r = fandango[['FILM','Metacritic']]

    세 번 째,헷 갈 리 기 쉬 운 것 은 열 색인 번 호 를 통 해 여러 열 을 선택 합 니 다.
    
    v = fandango[[0,1,2]]

    사실 열 에 도 색인 번호 가 있 습 니 다.여 기 를 보고 묻 고 싶 습 니 다.그럼 저 는 앞의 5 열 을 선택해 야 합 니까?나 는 긴 목록 을 쓰 고 싶 지 않 고,이 5 열의 이름 을 하나씩 쓰 고 싶 지 않 은 데,슬라이스 를 사용 할 수 있 습 니까?
    
    x = fandango[[0:5]]

    사실은 이것 이 안 된다 는 것 을 증명 한다.더 좋 은 방법 은 매개 변수 에 목록 을 구축 하 는 것 이다.
    
    w = fandango[list(range(5))]
    더 많은 참고 자료:http://pandas.pydata.org/pandas-docs/version/0.17.0/api.html
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기