ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Pandas 인덱싱과 슬라이싱
    카테고리 없음 2023. 10. 27. 11:06

    1) 특정 행만 조회 - selection연산자

    • df[시작인덱스:끝인덱스+1]
    • 연속되는 일정구간의 행을 조회할 때

    # 0~4행 indexing
    lemonade[0:5]  

     

    #연속되지 않는 1,3,5행을 indexing하고 싶다면?
    lemonade[1,3,5]  # 안됨!

     

    #한행만 indexing하고 싶다면?
    lemonade[1]  # 역시안됨!

     

    2) 특정 열만 조회

     

    • df[['col1'],['col2']..] (이중 괄호임에 주의!)
    • 연속/불연속, 한개/여러개 상관없이 가능

    # 두 열만 조회: Dataframe으로 출력 
    lemonade[['Date', 'Location']]

     

    # 한 열만 조회: Dataframe으로 출력  
    lemonade[['Date']] #이중괄호 - DataFrame으로 출력

     

    # 이렇게 하면 어떻게 될까?  Series로 출력
    lemonade['Date']  #단일괄호 - Series로 출력

     

     

    3) loc - 원하는 행, 원하는 열 조회

    • df.loc[[원하는 행index], [원하는 열이름]]
    • 행만지정 (열은 모두 추출): df.loc[[원하는 행index]]
    • 열만지정 (행은 모두 추출): df.loc[:,[원하는 열이름]]

    #1,3,5행, Data, Location 열만 뽑고 싶다.

    lemonade.loc[[1,3,5], ['Date','Location']]   

    # 0행, Data, Location열만 뽑고 싶다.

    lemonade.loc[[0], ['Date','Location']]  

     

    # 단 행을 selection 연산자로 연속구간 표현시 []를 하지 않음
    lemonade.loc[0:2, ['Date','Location']]   

     

    #index 0행 하나만 (모든열에 대해) 추출하고 싶다면?
    lemonade.loc[[0]]  

     

    #이렇게 하면 어떻게 될까?
    lemonade.loc[0]  #단일괄호 - 한 행만 출력

     

    #index 1,3,5행을 (모든열에 대해) 추출하고 싶다면
    lemonade.loc[[1,3,5]]  

     

    #column 'Date','Location'을 (모든행에 대해) 추출하고 싶다면?
    lemonade.loc[:, ['Date','Location']] 

     

    4) 조건 인덱싱

     

    #조건에 해당되는 행만 출력
    lemonade['Location'] == 'Beach'

     

    • 만약 조건을 만족하는 lemonade의 행을 모두 출력하게 하려면?
    • lemonade[조건]

    lemonade[lemonade['Location'] == 'Beach']

     

    # 조건이 하나일 때, 일부 열만 출력
    lemonade.loc[lemonade['Revenue']>45, ['Date','Revenue']]

     

    # & (and) 조건일 때
    lemonade.loc[ (lemonade['Revenue']>45) & (lemonade['Revenue']<100), ['Date', 'Revenue']]

     

    # | (or) 조건일 때
    lemonade.loc[ (lemonade['Revenue']<45) | (lemonade['Revenue']>100), ['Date', 'Revenue']]

Designed by Tistory.