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으로 뜬것을 볼 수있다.