기본정보 & 통계정보 파악
1. 파일 읽어오기 (csv)
1
| df = pd.read_csv('korean-idol.csv')
|
|
이름 |
그룹 |
소속사 |
성별 |
생년월일 |
키 |
혈액형 |
브랜드평판지수 |
0 |
지민 |
방탄소년단 |
빅히트 |
남자 |
1995-10-13 |
173.6 |
A |
10523260 |
1 |
지드래곤 |
빅뱅 |
YG |
남자 |
1988-08-18 |
177.0 |
A |
9916947 |
2 |
강다니엘 |
NaN |
커넥트 |
남자 |
1996-12-10 |
180.0 |
A |
8273745 |
3 |
뷔 |
방탄소년단 |
빅히트 |
남자 |
1995-12-30 |
178.0 |
AB |
8073501 |
4 |
화사 |
마마무 |
RBW |
여자 |
1995-07-23 |
162.1 |
A |
7650928 |
5 |
정국 |
방탄소년단 |
빅히트 |
남자 |
1997-09-01 |
178.0 |
A |
5208335 |
6 |
민현 |
뉴이스트 |
플레디스 |
남자 |
1995-08-09 |
182.3 |
O |
4989792 |
7 |
소연 |
아이들 |
큐브 |
여자 |
1998-08-26 |
NaN |
B |
4668615 |
8 |
진 |
방탄소년단 |
빅히트 |
남자 |
1992-12-04 |
179.2 |
O |
4570308 |
9 |
하성운 |
핫샷 |
스타크루이엔티 |
남자 |
1994-03-22 |
167.1 |
A |
4036489 |
10 |
태연 |
소녀시대 |
SM |
여자 |
1989-03-09 |
NaN |
A |
3918661 |
11 |
차은우 |
아스트로 |
판타지오 |
남자 |
1997-03-30 |
183.0 |
B |
3506027 |
12 |
백호 |
뉴이스트 |
플레디스 |
남자 |
1995-07-21 |
175.0 |
AB |
3301654 |
13 |
JR |
뉴이스트 |
플레디스 |
남자 |
1995-06-08 |
176.0 |
O |
3274137 |
14 |
슈가 |
방탄소년단 |
빅히트 |
남자 |
1993-03-09 |
174.0 |
O |
2925442 |
2. 기본 행&열 정보 알아보기 (column, index, info)
2-1. column (열) 이름 출력하기
df_name .columns
Index(['이름', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수'], dtype='object')
2-2. column (열) 이름 재정의하기
(1) 전체 column 이름
df_name .columns = […]
예: “이름” --> “name”:
1
| new_col = ['name', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수']
|
Index(['name', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수'], dtype='object')
(2) 개별 column 이름
df_name .rename ( columns = { “old_name” : “new_name” } )
1
| df = pd.read_csv('korean-idol.csv')
|
Index(['이름', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수'], dtype='object')
1
| df = df.rename(columns = {"이름" : "name"})
|
Index(['name', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수'], dtype='object')
2-3. index (행) 정보 출력하기
df_name .index
RangeIndex(start=0, stop=15, step=1)
2-4. info (기본적인 column 정보와 데이터 타입)
df_name .info()
Tip: info메소드는 주로 빠진 값 (null 값)과 데이터 타입을 볼 때 활용함
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 15 entries, 0 to 14
Data columns (total 8 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 name 15 non-null object
1 그룹 14 non-null object
2 소속사 15 non-null object
3 성별 15 non-null object
4 생년월일 15 non-null object
5 키 13 non-null float64
6 혈액형 15 non-null object
7 브랜드평판지수 15 non-null int64
dtypes: float64(1), int64(1), object(6)
memory usage: 1.1+ KB
“object” type은 주로 문자형 데이터를 가리킴.
3. 형태 (shape) 알아보기
shape는 tuple형태로 반환되며, 첫번째는 row, 두번째는 column의 숫자를 의미함.
(15, 8)
4. 상위 5개, 하위 5개의 정보만 보기
상위 5개 row: df_name .head()
하위 5개 row: df_name .tail()
상위 n개 row: df_name .head(n)
하위 n개 row: df_name .tail(n)
|
name |
그룹 |
소속사 |
성별 |
생년월일 |
키 |
혈액형 |
브랜드평판지수 |
0 |
지민 |
방탄소년단 |
빅히트 |
남자 |
1995-10-13 |
173.6 |
A |
10523260 |
1 |
지드래곤 |
빅뱅 |
YG |
남자 |
1988-08-18 |
177.0 |
A |
9916947 |
2 |
강다니엘 |
NaN |
커넥트 |
남자 |
1996-12-10 |
180.0 |
A |
8273745 |
3 |
뷔 |
방탄소년단 |
빅히트 |
남자 |
1995-12-30 |
178.0 |
AB |
8073501 |
4 |
화사 |
마마무 |
RBW |
여자 |
1995-07-23 |
162.1 |
A |
7650928 |
|
name |
그룹 |
소속사 |
성별 |
생년월일 |
키 |
혈액형 |
브랜드평판지수 |
10 |
태연 |
소녀시대 |
SM |
여자 |
1989-03-09 |
NaN |
A |
3918661 |
11 |
차은우 |
아스트로 |
판타지오 |
남자 |
1997-03-30 |
183.0 |
B |
3506027 |
12 |
백호 |
뉴이스트 |
플레디스 |
남자 |
1995-07-21 |
175.0 |
AB |
3301654 |
13 |
JR |
뉴이스트 |
플레디스 |
남자 |
1995-06-08 |
176.0 |
O |
3274137 |
14 |
슈가 |
방탄소년단 |
빅히트 |
남자 |
1993-03-09 |
174.0 |
O |
2925442 |
|
name |
그룹 |
소속사 |
성별 |
생년월일 |
키 |
혈액형 |
브랜드평판지수 |
0 |
지민 |
방탄소년단 |
빅히트 |
남자 |
1995-10-13 |
173.6 |
A |
10523260 |
1 |
지드래곤 |
빅뱅 |
YG |
남자 |
1988-08-18 |
177.0 |
A |
9916947 |
2 |
강다니엘 |
NaN |
커넥트 |
남자 |
1996-12-10 |
180.0 |
A |
8273745 |
|
name |
그룹 |
소속사 |
성별 |
생년월일 |
키 |
혈액형 |
브랜드평판지수 |
13 |
JR |
뉴이스트 |
플레디스 |
남자 |
1995-06-08 |
176.0 |
O |
3274137 |
14 |
슈가 |
방탄소년단 |
빅히트 |
남자 |
1993-03-09 |
174.0 |
O |
2925442 |
5. 통계 정보 알아보기
통계값은 산술 연산이 가능한 숫자형 (float / int) 인 column을 다룬다
5-1. 전체 통계 정보
df_name .describe()
산술 연산이 가능한 column만 출력됨
|
키 |
브랜드평판지수 |
count |
13.000000 |
1.500000e+01 |
mean |
175.792308 |
5.655856e+06 |
std |
5.820576 |
2.539068e+06 |
min |
162.100000 |
2.925442e+06 |
25% |
174.000000 |
3.712344e+06 |
50% |
177.000000 |
4.668615e+06 |
75% |
179.200000 |
7.862214e+06 |
max |
183.000000 |
1.052326e+07 |
최소값: df_name [ ‘col_name’ ] .min()
최대값: df_name [ ‘col_name’ ] .max()
중앙값: df_name [ ‘col_name’ ] .median()
최빈값: df_name [ ‘col_name’ ] .mode()
162.1
183.0
177.0
0 178.0
dtype: float64
5-3. 합계(sum), 평균(mean), 분산(var), 표준편차(std)
합계(sum): df_name [ ‘col_name’ ] .sum()
평균(mean): df_name [ ‘col_name’ ] .mean()
분산(variance): df_name [ ‘col_name’ ] .var()
표준편차(standard deviation): df_name [ ‘col_name’ ] .std()
2285.3
175.7923076923077
33.879102564102595
5.820575793175672
5-4. 갯수를 세는 count
df_name [ ‘col_name’ ] .count
13