데이터사이언스

5-1. DataFrameIndexing

유니진 2023. 1. 24. 12:08

 

dataframe 에서 하나의 값만 받아오기
ex. 하나의 값 = iphone 8 메모리

 

 

import pandas as pd
iphone_df = pd.read_csv ('data/iphone.csv', index_col = 0)
iphone_df

 

   - 출력

 

iphone_df.loc ['iphone 8', '메모리']     #파라미터 row, column 순으로  

   - 출력 : 2GB

 

iphone_df.loc ['iphone 8', '가격']

   - 출력 : 오류발생

   - 이유 : 가격이라는 column 이 존재하지 않기 때문

 

#row 하나 통째로 출력하기
#ex - iphone X

iphone_df.loc ['iphone X', : ]     # 콜론(:) 의 의미 : 처음부터 끝까지
iphone_df.loc ['iphone X' ]        # 동일한 결과 

 

   - 출력 

 

# 데이터 타입 확인

type (iphone_df.loc [ 'iphone X' ]

   - 출력 : pandas.core.series.Series

   - Series : padas 의 일차원 자료형으로 iphone X 데이터 한 줄에 해당하는 데이터 타입을 확인했으므로 맞는 확인

 

 

# column 하나 통째로 출력하기 

iphone_df.loc [ :, '출시일' ]    # column 출시일에 대한 모든 정보를 보고 싶다
iphone_df.loc [ '출시일' ]       #동일한 결과 

   - 출력

 

 

# 데이터 타입 확인

type (iphone_df ("출시일')

   - 출력 : pandas.core.series.Series

 

 

 

 


 

 

여러 줄의 데이터 받아오기
ex. rows = iphone X 와 8

 

 

 

   - iphone X 와 iphone 8 에 대한 데이터 받아오기 

iphone_df.loc [ [ 'ipone X', 'iphone 8' ] ]

   - 원하는 값들을 리스트로 넘겨준다. 

   - 출력

 

 

   

# 데이터 타입 확인

type (iphone_df.loc [ [ 'iphone X', 'iphone 8' ] ]

   - 출력 : pandas.core.frame.DataFrame

 

 

 


 

 

여러 행의 데이터 가져오기

 

 

   - 하나의 column 가져오기

iphone_df ['Face ID']

 

 

   - 여러 column 가져오기

iphone_df [ [ 'Face ID', '출시일', '메모리' ] ]

   - 대괄호 안에 리스트를 만들고, 원하는 column 이름을 모두 적는다. 

   - 출력

 

 

   - Slicing

iphone_df.loc [ 'iphone 8' : 'iphone XS' ]

   - 출력 : iphone 8 부터 XS 까지만 

 

iphone_df.loc [  :  'iphone XS' ]

   - 출력 : 처음부터 iphone XS 까지

 

 

 

   [Column Slicing]

    - row 는 위와 같이 간단하게 slicing 가능하지만 column 은 불가능

    - 다른 방법 사용

iphone_df.loc [ : , '메모리', : 'Face ID' ]  

    - 출력 : 모든 메모리 (:) 중에서 '메모리' column 부터 'Face ID' column까지 

    

 

iphone_df.loc [ 'iphone 7' : 'iphone X', '메모리' : 'Face ID' ]     #row  /  column

    - 출력