본문 바로가기

카테고리 없음

[패스트캠퍼스 수강 후기] 데이터분석 인강 100% 환급 챌린지 9회차 미션

05. ch01. pandas - 05. 통계값(describe), 요약 정보(info), 정렬

1. 파일 읽어오기(csv)

import pandas as pd

df = pandas.read_csv('http://bit.ly/ds-korean-idol')
df
>

2. 기본 정보 알아보기(index, column, info)
2-1, column(열) 출력하기.

df.columns
Index(['이름', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수'], dtype='object')

가로목록

2-2. column(열) 이름 재정의

new_col = ['name', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수']
(원래 데이터 개수와 새로 바꿀 데이터 개수가 동일해야함)

df.columns = new_col

df.columns
>Index(['name', '그룹', '소속사', '성별', '생년월일', '키', '혈액형', '브랜드평판지수'], dtype='object')

2-3. index(행) 출력

df.index (여기엔 괄호 안넣음)
>RangeIndex(start=0, stop=15, step=1)

2-4. info는 기본적인 row(행)의 정보와 데이터 타입

info 메소드는 주로 빠진 (null) 값. 데이터 타입 볼 떄 활용

df.info()
><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

3. 통계 정보 알아보기(describe)

df.describe()
> 키 브랜드평판지수
count row개수 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

산술연산을 할 수 있는 column만 출력

4. 형태(shape) 알아보기

tuple 형태로 반환. 첫번째는 row, 두번쨰는 column 숫자

df.shape
(15, 8)

5. 상위 5개, 하위 5개 정보만

head() 상위 5개 row 출력
tail() 하위 5개 row 출력
head(3) 상위 3개 row 출력

6. 정렬

6-1. 오름차순 정렬 (default)

df.sort_index()

6-2. 내림차순 정렬

df.sort_index(ascending=False)

7. column별로 정렬

7-1. 오름차순 정렬

df.sort_values(by='키')

7-2. 내림차순 정렬

df.sort_values(by = '키', ascending=False)

복수 정렬

df.sort_values(by=['키', '브랜드평판지수'])

df.sort_values(by=['키', '브랜드평판지수'], ascending=False) 내림차순

ch01_pandas_06~09_selection

import pandas as pd

df = pd.read_csv('http://bit.ly/ds-korean-idol')
df

1. column 선택

1) df['이름']

2) df["이름"]
1)이나 2) 방법 사용하기.
>0 지민
1 지드래곤
2 강다니엘
3 뷔
4 화사
5 정국
6 민현
7 소연
8 진
9 하성운
10 태연
11 차은우
12 백호
13 JR
14 슈가
Name: 이름, dtype: object

3) df.이름

2. 범위 선택 (range selection)

2-1. 단순 index에 대한 범위 선택

df[:3] 행 기준으로 선택

2-2. loc(소문자 엘)
많이 사용

df.loc[:, '이름']
쉼표 기준 왼쪽은 행, 오른쪽은 열
왼쪽 땡땡 : 행은 다 가져와. 열은 이름만 가져와.

df.loc[:, ['이름', '생년월일']]
>이름 생년월일
0 지민 1995-10-13
1 지드래곤 1988-08-18
2 강다니엘 1996-12-10
3 뷔 1995-12-30
4 화사 1995-07-23
5 정국 1997-09-01
6 민현 1995-08-09
7 소연 1998-08-26
8 진 1992-12-04
9 하성운 1994-03-22
10 태연 1989-03-09
11 차은우 1997-03-30
12 백호 1995-07-21
13 JR 1995-06-08
14 슈가 1993-03-09

df.loc[3:8, ['이름', '생년월일']]
>이름 생년월일
3 뷔 1995-12-30
4 화사 1995-07-23
5 정국 1997-09-01
6 민현 1995-08-09
7 소연 1998-08-26
8 진 1992-12-04

df.loc[2:5, '이름':'생년월일']
이름 그룹 소속사 성별 생년월일
2 강다니엘 NaN 커넥트 남자 1996-12-10
3 뷔 방탄소년단 빅히트 남자 1995-12-30
4 화사 마마무 RBW 여자 1995-07-23
5 정국 방탄소년단 빅히트 남자 1997-09-01

이하(포함시켜서) 를 가져옴. numpy와 다른 점. numpy는 미만을 가져옴
행은 2부터 5까지 열은 이름부터 생년월일까지 출력


2-3. iloc(position으로 색인)

df.iloc[:, 0:2]
이름으로 가져오는게 아니라 몇번째 숫자로 가져오기

df.iloc[1:5, 0:2]
>이름 그룹
1 지드래곤 빅뱅
2 강다니엘 NaN
3 뷔 방탄소년단
4 화사 마마무
미만으로 가져옴. loc와 iloc와 또 다름. 포함시키지 않음





패스트캠퍼스 데이터분석 강의 링크
https://bit.ly/3imy2uN

직장인을 위한 파이썬 데이터분석 올인원 패키지 Online. | 패스트캠퍼스

왕초보도 진짜 데이터 분석을 하는 마법의 커리큘럼으로 파이썬 기초부터 다양한 예제를 활용한 분석까지 모두 배울 수 있는 온라인 과정입니다.

www.fastcampus.co.kr