본문 바로가기
Python/데이터 분석

[DataFrame] DataFrame - 조회 함수

by snow_white 2022. 4. 2.
  • head() - 앞에서 5개 조회
  • tail() - 뒤에서 5개 조회
  • head(10) - 앞에서 10개 조회
  • tail(10) - 뒤에서 10개 조회
df3.head()
df3.tail()
  • describe() - 각 컬럼에 대한 요약 통계 제공 ⇒ Numeric한 칼럼에 대해서만 (day, time, sex 칼럼 제외)
  • info() - 각 컬럼별 정보 확인
  • columns - 데이터프레임을 구성하는 컬럼명 확인
  • value_counts(subset=['칼럼명1', '칼럼명2']) : 칼럼 별 동일한 데이터 개수(빈도수) ⇒ sql의 groupby와 유사
df3.describe()

245 / 244(nan 값으로 1개 줄어들게 나옴)

describe는 숫자형 칼럼에 대해서만 추출하기 때문에 include 속성으로 카테고리 칼럼 추출

df3.describe(include='object') # categorical한 컬럼에 대해서만 추출

중복을 벗겨내는 unipue 칼럼 ⇒ 속성 개수 (sql에서 distinct와 같은 역할)

sex ⇒ 남과 여 ⇒ 2

day ⇒ 목, 금, 토, 일 ⇒ 4

time ⇒ 저녁과 점심 ⇒ 2

df3.info()
'''
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 245 entries, 0 to 244
Data columns (total 7 columns):
 #   Column      Non-Null Count  Dtype  
---  ------      --------------  -----  
 0   total_bill  245 non-null    float64
 1   tip         244 non-null    float64
 2   sex         244 non-null    object 
 3   smoker      244 non-null    object 
 4   day         244 non-null    object 
 5   time        244 non-null    object 
 6   size        244 non-null    float64
dtypes: float64(3), object(4)
memory usage: 13.5+ KB
'''

df3.columns # 칼럼만 확인
# Index(['total_bill', 'tip', 'sex', 'smoker', 'day', 'time', 'size'], dtype='object')
  1. astype()으로 데이터형 확인
  2. nan 값 확인
  3. 누락 데이터 조회 함수 isnull과 sum()을 활용하여 확인

value_counts() ⇒ 측정 칼럼에 대한 count 분포라서 단일 컬럼으로 조회

# 요일에 대한 분포
df3['day'].value_counts() 

# subset 변수 사용
df3.value_counts(subset=['day'])

목요일에 인원이 많은 이유?? 목요일에만 점심을 제공함!

# 인원수별 분포도
df3['size'].value_counts()

2명이서 오면 좋겠다!

# 지불 금액에 따른 분포도
df3['total_bill'].value_counts()

⇒ 지불 금액에 따른 분포는 numeric 칼럼이기 때문에 variation 분포도가 너무 많다.. 의미가 없다..

따라서 분포도 variation 을 볼 수 있는 칼럼은 카테고리컬한 컬럼이 유의미하다!

하지만 size 칼럼의 경우 numeric 이지만 속성이 적어서 데이터 분석에 용이하다!

  • subset 변수 사용하여 칼럼1별, 칼럼2 동일한 칼럼 묶음
df3.value_counts(subset=['day', 'size'])
'''
day   size
Sat   2.0     53
Thur  2.0     48
Sun   2.0     39
      4.0     18
Sat   3.0     18
Fri   2.0     16
Sun   3.0     15
Sat   4.0     13
Thur  4.0      5
      3.0      4
Sun   5.0      3
Thur  6.0      3
Sat   1.0      2
      5.0      1
Sun   6.0      1
Thur  1.0      1
Fri   4.0      1
      3.0      1
Thur  5.0      1
Fri   1.0      1
dtype: int64
'''

댓글