군침이 싹 도는 코딩

Python pandas DataFrame(데이터프레임) 억세스 본문

Python/Pandas

Python pandas DataFrame(데이터프레임) 억세스

mugoori 2022. 11. 23. 17:42

판다스의 2차원 데이터 처리는 데이터 프레임(DF)로 한다

데이터 분석에서는 csv 파일을 판다스의 데이터프레임으로 읽어와서 작업한다

 

import pandas as pd

# We create a dictionary of Pandas Series 
items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']),
         'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])}

 

 

 

 

 

왼쪽의 행부분의 진한 글씨는 인덱스

윗쪽의 열부분의 진한 글씨는 컬럼

안쪽에 있는 데이터는 values 라고한다

 

 

 

 

데이터 프레임 데이터 타입별로 불러오는법

df.index # 인덱스를 불러오는법
>>> Index(['bike', 'book', 'glasses', 'pants', 'watch'], dtype='object')


df.columns # 컬럼을 불러오는법
>>> Index(['Bob', 'Alice'], dtype='object')


df.values # 데이터를 불러오는법
>>> array([[245., 500.],
          [ nan,  40.],
          [ nan, 110.],
          [ 25.,  45.],
          [ 55.,  nan]])

 

 

데이터 프레임 억세스 하는법

df라고 저장한 데이터 프레임

 

 

1. 컬럼의 데이터를 가져오는 법

df['watches']  # 변수명 바로 오른쪽에 대괄호를 넣고 안에 컬럼명을 쓴다
>>> store 1    35
    store 2    10
    Name: watches, dtype: int64
    
    
# bikes 데이터와 glasses 컬럼을 가져오세요 # 두개 이상일 경우 대괄호안에 리스트를 만들어 입력
df[['bikes','glasses']]
>>>    bikes   glasses
store 1	20   	NaN
store 2	15   	50.0

 

 

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

# 스토어2에서 bikes 와 watches 데이터를 가져오시오
df.loc['store 2',['bikes','watches']]
>>> bikes      15.0
    watches    10.0
    Name: store 2, dtype: float64
    
    
# 스토어 2에서 팬츠부터 글래시스까지의 데이터를 가져오시오 # ~부터 ~까지는 콜론(:)을 사용한다
df.loc['store 2','pants':]
>>> pants       5.0
    watches    10.0
    glasses    50.0
    Name: store 2, dtype: float64

 

 

3 . 행과 열로 데이터를 가져오는 방법 (.iloc[ , ])

df
>>>   bikes pants watches glasses
store 1 20   30     35      NaN
store 2 15   5      10     50.0

df.iloc[0,1] # 이 방법은 컴퓨터가 메기는 인덱스로 데이터를 억세스한다.
>>> 30

# 스토어 2 데이터에서 , bike 부터 watches 까지의 데이터를 가져오시오
df.iloc[1,:2+1]
>>> bikes      15.0
    pants       5.0
    watches    10.0
    Name: store 2, dtype: float64