개요

  • kaggle에서 튜토리얼로 pandas가 있어서 복습할겸 다시 정리

정리

인덱싱

  • dataframe[열 이름] or dataframe.열이름으로 출력가능
  • dict와 유사하게 사용가능
  • dataframe[열 이름][0]으로 특정 column의 한 index의 값만 추출가능
  • pandas의 자체적인 인덱싱 함수로 loc와 iloc이 존재

iloc

  • index-based selection:
  • dataframe.iloc[가로(행), 세로(열)]로 지정 가능
  • dataframe.iloc[0]
    • 0번째 행을 추출한다.
  • dataframe.iloc[0:3,0]
    • 0부터 3번 이전 행까지 0번 column들만 추출한다.
    • dataframe.iloc[[0,1,2],0]로도 표현 가능

loc

  • label-based selection
  • 위치가 아닌 이름으로 지정
  • dataframe.loc[0, ‘열이름’]
    • 0번째 행index에서 해당 열을 추출
  • dataframe.loc[0:3,0]
    • iloc과 같아 보이지만 loc은 0,1,2,3을 가지는 Index를 추출한다.
  • dataframe.loc[:, [‘열이름1’, ‘열이름2’, ‘열이름3’]]
    • 특정 열 에 대해서만 모든 행에서 추출

index 조작

  • 새로운 index(행)을 추가하는게 가능하다.
  • dataframe.set_index(“index이름”)

조건문

  • 특정 조건에 맞게 선택 가능
  • dataframe.열이름 == ‘찾는 값’
    • 특정 열의 값을 비교한다.
    • dataframe에서 해당 열(series)을 추출하고, 같으면 true로 다르면 false로 하여 출력한다.
  • dataframe.loc[dataframe.열이름 == ‘찾는값’]
    • loc와 연계하여 추출이 가능하다.
    • dataframe.열이름 == ‘찾는값’은 true,false로 된 series가 만들어진다.
    • 위에서 만들어진 true와 false로 이루어진 결과를 토대로 추출한다.
  • and와 or 적용 가능
    • and는 &, or는 |를 사용
    • dataframe.loc[(dataframe.열이름 == ‘찾는값’) & (dataframe.열이름>=80)]
    • dataframe.loc[(dataframe.열이름 == ‘찾는값’) (dataframe.열이름>=80)]
  • isin
    • 특정 열에서 값이 포함되는 것들을 추출할때 사용
    • dataframe.열이름.isin([열값1,…])
  • isnull , notnull
    • isnull은 값이 비어있는것들
    • notnull은 어떤값이든 들어있는것들

값 넣기

  • 특정열에 값을 부여 할 수 있다.
    • dataframe[‘열이름’] = ‘값’
    • 해당 열의 모든 값이 해당 값으로 바뀐다.
  • iterator한 값을 넣는것도 가능
    • dataframe[‘열이름’] = range(len(dataframe), 0, -1)
    • range를 통해 전체 길이가 1씩 줄어드는 값을 넣는게 가능하다.