Sun.El Data Analysis

[판다스] 데이터프레임 정보 및 데이터 파악하기 본문

Pandas

[판다스] 데이터프레임 정보 및 데이터 파악하기

Sun.El 2023. 7. 4. 22:55
728x90

1. 데이터프레임 로우, 칼럼 정보

  • df.columns
    - 칼럼명 확인
## 데이터 프레임 전체 열 이름 조회
[In]       df.columns
[Out]    Index(['인구수', '한국인', ...], dtype = 'object')

## 데이터프레임 i번 열(i+1번째 열) 이름 조회
[In]       df.columns[1]
[Out]    '한국인'

 

  • df.index
    - 인덱스명 확인
## 데이터 프레임 전체 index 조회
[In]      df.index
[Out]   Index(['강남구', '강동구', ...], dtype = 'object', name='자치구')

## 데이터 프레임  i번 행(i+1번째 행) 이름 조회
[In]      df.index[1]
[Out]   '강동구'

 

2.  데이이터프레임 및 데이터 타입 조회

  • type(df)
    - 데이터프레임의 타입
[In]        print(type(df))
[Out]     <class 'pandas.core.frame.DataFame'>

 

  • df.shape
    - 행/열 크기
[In]        print(df.shape)
[Out]     (300, 4)

 

  • df.dtypes
    - 데이터 자료형
[In]        print(df.dtypes)
[Out]     id           object
             area      object
             pop        int64
             etc         float64

 

  • df.info()
    - 행/열 크기, 컬럼명, 데이터 자료형, 사용 메모리 등
[In]        print(df.info())
[Out]     <class 'pandas.core.frame.DataFame'>
             RangeIndex : 300 entries, 0 to 300
             Data columns (total 4 columns) :
             id          300 non-null  object
             area      300 non-null  object 
             pop       300 non-null  int64
             etc        300 non-null  float64
             dtypes : float64(1), int64(1), object(2)
             memory usage: 10.0+ KB
             None

 

3. 데이터셋 기본정보 확인

  • df.head()
    - 데이터 셋 위에서부터 n행 조회(디폴트 위에서 5행)
df.head()  ##위에서 5행 조회
df.head(10)  ##위에서 10행 조회

 

  • df.tail()
    - 데이터 셋 아래에서부터 n행 조회(디폴트 아래에서 5행)
df.tail()  ##아래에서 5행 조회
df.tail(10)  ##아래에서 10행 조회

 

  • df.describe()
    - 컬럼별 요약 통계량(count, mean, std, min, 25%, 50%, 70%, min, max)
df.descreib()  ##컬럼 별로 통계량 출력
df['pop'].median()  ## pop 컬럼의 중앙값

 

  • df.unique()
df['year'].unique()  ## year 컬럼 내에 존재하는 각각의 값의 종류를 알 수 있음

 

  • df.sort_value()
df.sort_values(by = 'Grade', ascending = True) ##Grade 칼럼을 기준으로 오름차순으로 확인

 

  • value_counts()
    해당 칼럼의 고유값에 대한 각 개수를 조회함
[In]      df['year'].value_counts()  ## year 컬럼 내에 존재하는 각각의 값의 개수를 알 수 있음, dropna=True 설정되어 있어 Null값은 조회하지 않음
[Out]   2015년   4
            2016년   2
            2017년   1
            2020년  3

[In]      df['year'].value_counts(dropna = False)  ##Null값 포함 조회
[Out]   2015년   4
            2016년   2
            2017년   1
            NaN       2
            2020년  3

[In]      df['year'].value_counts(ascending = True ##오름차순 정렬
[Out]   2017년   1
            2016년   2
            2020년  3
            2015년   4

[In]   df['year'].value_counts(normalize=True)  ##normalize 옵션을 사용해 상대적 빈도(%) 반환하여 조회
[Out]   2015년   0.4
            2016년   0.2
            2017년   0.1
            2020년  0.3

[In]   df['grade'].value_counts(bin = 3 ##grade 열의 연속 데이터를 3개의 구간으로 나눠서 구간별 해당하는 데이터의 갯수를 조회, 단 숫자 값만 있는 열에 사용가능 함
[Out]   (74.982, 80.667]    3
            (80.667 , 86.333]   1
            (86.333, 92.0]        6

[In]   df['grade'].value_counts(bin = [70,80,90,100] ##grade 열의 연속 데이터를 지정한 리스트 구간으로 나눠서 구간별 해당하는 데이터의 갯수를 조회
[Out]   (69.999, 80.0]    3
            (80.0 , 90.0]        4
            (90.0, 100.0]       3

* 참고 : https://zzinnam.tistory.com/entry/pandas-valuecounts-%ED%95%A8%EC%88%98