Python/Pandas

[Python] Pandas DataFrame 가져오기 loc[], iloc[]

건휘맨 2024. 4. 5. 17:52

데이터 프레임에서 원하는 데이터를 엑세스하는 방법은 3가지이다

 

1. 컬럼의 데이터를 가져오는 방법 : 변수명 바로 오른쪽에 대괄호 사용

import pandas as pd

items2 = [{'bikes': 20, 'pants': 30, 'watches': 35}, 
          {'watches': 10, 'glasses': 50, 'bikes': 15, 'pants':5}]
          
df = pd.DataFrame(data = items2, index= ['store 1', 'store 2'])


>>> df['bikes']
store 1    20
store 2    15
Name: bikes, dtype: int64

>>> df['watches']
store 1    35
store 2    10
Name: watches, dtype: int64

# 바이크랑 와치 컬럼 두 개를 한 번에 가져오시오.
>>> df[['bikes', 'watches']]
    bikes	watches
store 1	20	35
store 2	15	10

 

2. 행과 열의 정보로, 원하는 데이터를 가져오는 방법 (1) : .loc[ , ] 로 가져오는 방법

# store 1 의 pants 데이터를 가져오시오.

>>> df['pants']['store 1']
30

>>> df.loc['store 1','pants'] # df.loc[행, 열]
30

# store 2 의 bikes 와 watches 데이터를 가져오시오.

>>> df.loc['store 2', 'pants' :'glasses']
pants       5.0
watches    10.0
glasses    50.0
Name: store 2, dtype: float64

 

3. 행과 열의 정보로 데이터를 가져오는 방법 (2) : iloc [ , ]
    이 방법은 " 컴퓨터가 매기는 인덱스(오프셋 offset) " 로 데이터를 엑세스 하는 방법

# store 1 의 pants 데이터를 가져오시오.

>>> df.iloc[0,1]
30

# store 2 의 bikes 와 watches 데이터를 가져오시오.

>>> df.iloc[1,[0,2]]
bikes      15.0
watches    10.0
Name: store 2, dtype: float64

# store 2 에서 pants 부터 glasses 까지 데이터를 가져오시오.

>>> df.iloc[1,1:3+1]
pants       5.0
watches    10.0
glasses    50.0
Name: store 2, dtype: float64