데이터분석 기초 | Pandas 판다스 설치 | Pandas 사용 방법 | 데이터 구조 | 시리즈, 데이터 프레임 개념 | 시리즈, 데이터 프레임 생성 방법 | Numpy(넘파이), 딕셔너리 활용
1. Padas(판다스) 기본
1. 파이썬으로 표 형태의 데이터를 처리할 때 폭넓은 기능을 제공해주는 라이브러리
2. 간단한 개념 증명이나 빠르고 쉬운 데이터 처리에 간편히 판다스를 사용
3. 결과물을 HTML, Excel, DB 파일 등 원하는 형식으로 출력 가능
2. Pandas 설치
pip install pandas
import pandas as pd
# 에러 안 나면 정상적으로 설치 된 것
▶ Pandas 버전 확인
print(pd.__version__)
3. Pandas 활용 기본
▶ 판다스 사용이유
1. 파이썬의 데이터 조작 기능을 강화
2. 대표적 데이터 관련 라이브러리
3. 데이터 프레임 조작에 특화
▶ 데이터 구조_시리즈와 데이터프레임의 개념
4. 시리즈 생성 방법과 특징
▶ 시리즈 생성하기
ser = pd.Series([1,3,5,7,9])
ser
* 시리즈 .index, .values
: 인덱스 값의 시작은 0 , 총 길이를 N이라고 했을 때 N-1까지의 숫자
ser.index
ser.values
* 시리즈의 이름과 값 확인하기
series.name
series.values
* .tolist( ) : 시리즈를 리스트로 만들 때 사용
series_tolist = series.tolist()
type(series_tolist)
▶ 넘파이 배열을 활용해 시리즈 생성하기
* Series( )
: 함수의 매개변수 값이 저장해둔 변수를 지정하여 시리즈를 생성함
import numpy as np
data = np.random.randint(0,10,5) # randint(시작범위, 끝범위)
index = ['a','b','c','d','e']
series = pd.Series(data = data,
index = index,
name = 'series_from_ndarray')
# Series() 함수의 매개변수 값이 저장해둔 변수를 지정하여 시리즈를 생성
print(series)
▶ 딕셔너리 활용해 시리즈 생성하기
data = {'서울' : 70000, '부산' : 52000, '대전' : 35000, '광주' : 45000, '제주도' : 28000}
series = pd.Series(data = data,
name = 'series_from_dict')
print(series)
* 위 data 값에 없는 '울릉도'를 넣었을 때 출력되는 값
city = ['광주', '대전', '부산', '서울', '울릉도']
series = pd.Series(data = data,
index = city,
name = 'series_from_dict')
print(series)
5. 데이터프레임 생성 방법과 특징
data = {'도시' : ['서울','서울','서울','부산','부산','부산'],
'연도' : [2020, 2019, 2018, 2020, 2019, 2018],
'인구수': [15865, 15964, 16034, 4342, 4380, 4416]}
frame = pd.DataFrame(data)
frame
▶ 컬럼 순서 지정해서 데이터프레임 설정하기
: 데이터프레임 생성 시 매개변수 columns에 컬럼 순서 지정
frame = pd.DataFrame(data, columns = ['연도', '도시', '인구수'])
frame
* 위 frame 값에 없는 '변화율'을 넣었을 때 출력되는 값
frame = pd.DataFrame(data, columns = ['연도','도시','인구수','변화율'])
frame
▶ 여러 개의 시리즈를 결합하여 데이터프레임 생성하기
1. 시리즈가 담겨 있는 딕셔너리 형태의 데이터프레임
2. 넘파이 배열로 시리즈를 여러 개 생성한 뒤 데이터프레임을 생성
3. 시리즈의 길이와 인텍스의 길이를 모두 동일하게 설정
data = {'컬럼1' : pd.Series(data = np.random.randint(10,100,5),
index = ['가','나','다','라','마']),
'컬럼2' : pd.Series(data = np.random.randint(10,100,5),
index = ['가','나','다','라','마']),
'컬럼3' : pd.Series(data = np.random.randint(10,100,5),
index = ['가','나','다','라','마'])}
frame = pd.DataFrame(data = data)
frame
* .values로 값만 출력해보기
frame.values