Python/Pandas

[Python] Pandas 데이터 억세스 (loc, iloc, NaN, )

코끼리똥11 2024. 4. 8. 01:38

 "데이터 프레임" 에서 원하는 데이터 억세스를 하는 방법


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

DataFrame[column] :  변수명 바로 오른쪽에 대괄호 사용한다.

df["watches"]

#출력값
store1    35
store2    10
Name: watches, dtype: int64
 
df['pants']['store1']  # [칼럼][인덱스]

#출력값
30
 
 
 

2. 행과 열의 정보로, 원하는 데이터를 가졍오는 방법

loc[ clumn ] [ index ] : 인덱스 라벨을 기반으로 행을 선택하고, 열을 지정하여 데이터에 접근하는 데 사용된다.

칼럼명과 인덱스명을 문자열로 입력하여 출력 가능하다.

df.loc['store1' ,'pants' ] # [인덱스][칼럼]

#출력값
30
 
 

3. 행과 열의 정보로 데이터를 가져오는 방법

iloc [clumn][index]   : loc와 마찬가지로 칼럼과 인덱스를 지정하여 출력하지만 iloc는 컴퓨터가 메기는 인덱스로 데이터를 엑세스한다.

 

df.iloc[0 ,1 ] #[인덱스][칼럼]

#출력값
30
 
 

 

NaN

NaN은 "Not a Number"의 약어로, 판다스에서 결측값(missing value)을 나타내는 특수한 값이다. 데이터셋에서 어떤 값이 존재하지 않거나 유효한 숫자로 표현할 수 없는 경우에 NaN이 사용된다.

판다스에서는 주로 실수형 데이터에서 결측값을 표현하는데 사용된다. 하지만 정수형 데이터나 문자열 데이터에서도 결측값을 나타내는데 사용될 수 있다.

 

new_item =[{'bikes' : 20 , 'pants': 30	,'watches': 35,	'glasses': 5}] # Series 생성
new_store_df= pd.DataFrame(data= new_item , index = ['store3']) #데이터프라임으로 변환
df =pd.concat([df,new_store_df]) # 기존 df랑 합체

 
 

새로운 Series를 기존 데이터와 합치는데 shirts, suits값을 지정해주지 않아 NaN으로 뜬것을 볼 수있다.