오식랜드
[python] pandas 데이터 확인 본문
반응형
출처 : 나도코딩 https://www.youtube.com/watch?v=PjhlUzp_cU0&t=10533
Data Frame 확인
- describe()
- : 계산 가능한 데이터에 대해 Column 별로 데이터의 개숫, 평균, 표준편차, 최소/최대값 등의 정보를 보여줌
import pandas as pd
# excel 파일 열기
df = pd.read_excel('score.xlsx', index_col='지원번호')
# data frame 확인
print(df.describe())
키 국어 영어 수학 과학 사회
count 8.000000 8.000000 8.000000 8.000000 8.000000 8.000000
mean 188.000000 62.500000 65.625000 66.250000 70.000000 60.625000
std 9.985704 29.519969 26.917533 30.325614 23.754699 32.120032
min 168.000000 15.000000 20.000000 10.000000 35.000000 10.000000
25% 186.250000 40.000000 53.750000 48.750000 51.250000 32.500000
50% 188.000000 67.500000 70.000000 70.000000 77.500000 77.500000
75% 191.750000 82.500000 85.000000 91.250000 87.500000 81.250000
max 202.000000 100.000000 100.000000 100.000000 95.000000 95.000000
이름, 학교와 같은 string은 계산이 안되어서 출력되지 않았다
키워드 의미
count | 갯수 |
mean | 평균값 |
std | 표준편차 |
min | 최소값 |
max | 최대값 |
Data Frame 정보
각 column별 data type이 무엇인지,
현재 메모리가 얼마나 사용됐는지 등의 요약 정보다 출력된다.
# column 별 정보
print(df.info())
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 이름 8 non-null object
1 학교 8 non-null object
2 키 8 non-null int64
3 국어 8 non-null int64
4 영어 8 non-null int64
5 수학 8 non-null int64
6 과학 8 non-null int64
7 사회 8 non-null int64
8 SW특기 6 non-null object
dtypes: int64(6), object(3)
memory usage: 640.0+ bytes
row 앞 몇 줄만 확인
처음 5개의 row를 가져오는 head()
print(df.head())
이름 학교 키 ... 과학 사회 SW특기
지원번호 ...
1번 채치수 북산고 197 ... 95 85 Python
2번 정대만 북산고 184 ... 55 25 Java
3번 송태섭 북산고 168 ... 80 75 Javascript
4번 서태웅 북산고 187 ... 75 80 NaN
5번 강백호 북산고 188 ... 35 10 NaN
파라미터에 숫자를 입력하면 그 갯수만큼 출력해준다
print(df.head(7))
이름 학교 키 ... 과학 사회 SW특기
지원번호 ...
1번 채치수 북산고 197 ... 95 85 Python
2번 정대만 북산고 184 ... 55 25 Java
3번 송태섭 북산고 168 ... 80 75 Javascript
4번 서태웅 북산고 187 ... 75 80 NaN
5번 강백호 북산고 188 ... 35 10 NaN
6번 변덕규 능남고 202 ... 85 80 C
7번 황태산 능남고 188 ... 40 35 PYTHON
row 뒤에서부터 몇 줄만 확인
마지막 5개를 불러오는 tail()
print(df.tail())
이름 학교 키 국어 ... 수학 과학 사회 SW특기
지원번호 ...
4번 서태웅 북산고 187 40 ... 70 75 80 NaN
5번 강백호 북산고 188 15 ... 10 35 10 NaN
6번 변덕규 능남고 202 80 ... 95 85 80 C
7번 황태산 능남고 188 55 ... 45 40 35 PYTHON
8번 윤대협 능남고 190 100 ... 90 95 95 C#
head()와 마찬가지로 파라미터에 숫자를 넘겨주면 그 갯수만큼 불러온다
print(df.tail(7))
list 형태로 출력
print(df.values)
[['채치수' '북산고' 197 90 85 100 95 85 'Python']
['정대만' '북산고' 184 40 35 50 55 25 'Java']
['송태섭' '북산고' 168 80 75 70 80 75 'Javascript']
['서태웅' '북산고' 187 40 60 70 75 80 nan]
['강백호' '북산고' 188 15 20 10 35 10 nan]
['변덕규' '능남고' 202 80 100 95 85 80 'C']
['황태산' '능남고' 188 55 65 45 40 35 'PYTHON']
['윤대협' '능남고' 190 100 85 90 95 95 'C#']]
index 정보 가져오기
인덱스를 list형태로 출력해주고, index의 이름은 무엇인지, data type은 무엇인지 알려준다
print(df.index())
Index(['1번', '2번', '3번', '4번', '5번', '6번', '7번', '8번'], dtype='object', name='지원번호')
column 정보 가져오기
column의 이름들과 data type을 알려준다
print(df.columns)
Index(['이름', '학교', '키', '국어', '영어', '수학', '과학', '사회',
'SW특기'], dtype='object')
row, column 갯수 확인하기
(row갯수, column갯수) 로 출력된다
column에서는 index가 제외된다
print(df.shape)
#(8, 9)
Series 확인
series의 모음이 data frame이었다.
그래서 우선 df 중 ‘키’값으로 정보를 확인해보자
Series 확인하기
print (df['키'].describe())
count 8.000000 # 총 갯수
mean 188.000000 # 평균
std 9.985704 # 표준 편차
min 168.000000 # 최소값
25% 186.250000
50% 188.000000
75% 191.750000
max 202.000000 # 최대값
Name: 키, dtype: float64
- 디테일 데이터 출력
디테일하게 출력하려면 아래처럼 정(.)과 소괄호()를 붙여주면 된다.
print (df['키'].max())
# 202
print (df['키'].min())
# 168
- 값이 제일 큰 순서대로 n개 출력
만약 키순으로 제일 큰 3명을 순서대로 출력하고 싶을 땐 nlargest()를 사용하면 된다.
print (df['키'].nlargest(3))
지원번호
6번 202
1번 197
8번 190
Name: 키, dtype: int64
- 값의 평균 값 출력
print (df['키'].mean())
# 188.0
- 값을 모두 더한 값 출력
print (df['키'].sum())
# 1504
- 존재하는(NaN이 아닌) 데이터의 갯수 확인
print(df['SW특기'].count())
# 6
- 중복되는 값을 제외한 데이터 확인
print(df['학교'].unique())
# ['북산고' '능남고']
- 중복되는 값을 제외한 데이터의 갯수 확인
print(df['학교'].nunique())
# 2
반응형
'dev-log > python' 카테고리의 다른 글
[python] pandas 결측치(비어있는 데이터) 처리 (0) | 2023.01.17 |
---|---|
[python] pandas 데이터 선택 (0) | 2023.01.17 |
[python] pandas 파일 저장 및 열기 (0) | 2023.01.17 |
[python] pandas 시작하기 (0) | 2023.01.17 |
[python] 모듈 연습 - glob, os, datetime (0) | 2023.01.12 |
Comments