Index
%%time
%%time 후 명령문 작성하면 얼마나 걸렸는지 시간을 출력한다.
%%timeit
한 번만 해서는 정확하게 측정할 수 없어 똑같은 과정을 여러번 반복해서 측정
column을 index로 지정 -> 검색 시간 단축
loc() 함수 : index로 바꿔서 찾기
Multi Index
: index로 사용할 column을 list로 선택
-> 가장 앞쪽에 있는 index가 아니라 특정 연도로 영화를 찾고싶은 경우
xs() 함수
level : indexing해 놓은것 중 하나를 선택
-> multi_index일땐 xs()함수 사용을 권장 loc를 사용할 수 있지만 xs를 권장
reset()
: index를 다시 column으로 되돌린다. reset_index()함수 안 리스트를 column으로 돌린다.
column의 전체 이름을 모두 변경
특정 한개의 column 이름을 변경
-> rename() 사용
Pandas 파일 읽고 쓰기
read_csv()
read_table()
sep = ',' 를 통해 구분자 설정 가능
첫번째 index를 column의 index로 사용하는 특성 때문에 데이터가 column으로 잘못 출력된 경우
header = None
: 디폴트값 -> header = 0 이기때문에 첫번째 row가 column이 된다
파일을 읽어오면서 column 설정하고 싶은 경우
index_col = 'msg'
: index_col로 index로 사용 할 column설정
텍스트 파일에 주석(설명)이 추가되어 있는 경우
-> 앞에 것들은 MultiIndex가 되었고 column이 하나인 DataFrame이 된 모습
주석 해결 방법
(1) 특정 기호로 부터 시작하는 문장 생략
comment = '#'
: '#' 으로 시작하는건 전부 주석으로 생각하겠다. + 중간에 있어도 생략가능하다
(2) 데이터를 읽어올 때 특정 행 생략
skiprows = n : n 숫자 부터 읽는다
+ skiprows를 리스트로 주게되면, 리스트안에 숫자만 제외하고 읽게 된다.
갖고 있는 column보다 많이 있는 경우 자동으로 index로 저장
: column 개수 보다 많은 부분 인덱스로 저장된다.
DataFrame을 csv파일로 저장
-> 자동으로 생성된 index도 csv파일로 저장한다.
ex5.csv 모습
-> 자동으로 생성되었던 index를 다시 설정해주어야한다
자동으로 생성되었던 index를 다시 설정 방법
(1) index_col = 0
: 첫번째 column이 인덱스임을 알려줌
(2) index = False
: 자동으로 주어진 index 같은 경우는 저장되지 않도록 설정
ex6.csv 모습
DataFrame을 엑셀 파일로 저장해보기
Pandas로 기상청 데이터를 분석해보자
날짜 앞 \t 지우기
: str.strip() 로 \t 삭제
missing data 없애기
none 값이 뒤쪽의 데이터로 채우기
지점 column 삭제 후 column 이름 재지정
위를 바탕으로 실습
1. 최고 기온을 구하고 그 날짜도 구하시오
Pandas로 인덱스를 통해 최고 기온, 최저 기온과 그 날짜 구하기
2. 최고 기온 Top 10, 최저 기온 Top 10을 구하기
정렬로 구할 수 있음
(1) 최고기온 Top 10과 그 날짜
head 안쓰고 Top 10 뽑기 -> 슬라이싱 사용
(2) 최저기온 Top 10과 그 날짜
병합 (Merge)
merge()
-> df1, df2를 합병해보기
데이터 결합 (Concatenation)
concat()
조합해서 만들어주는게 merge
물리적으로 붙여주는게 concat
시계열 (Time Series)
: 시간의 흐름에 따라서 모아놓은 데이터
대표적으로 기온 정보, 주식 등이 있다.
날짜의 squance
date_range()
-> freq = 'D' 현재 날짜를 기준으로 하루씩 증가한다
-> feq='B'는 주말을 제외하고 하루씩 증가
-> freq = '50T', tz = 'Asia/Seoul' 는 50분 간격으로 한국의 time zone 설정
-> time zone을 'Australia/Sydney'로
문자열 -> 날짜 타입으로 변경
: 날짜에 대한 연산 가능
-> 이를 날짜로 바꾸고 싶은 경우
to_datetime()
: 미국식 표기법 mm/dd/yyyy 형태로 날짜로 바꿔줌
유럽식:dd/mm/yyyy
날짜의 인덱스
-> 이거로 DataFrame 만들기
기온차
df.loc[] : 날짜에 대한 정보 출력
기상청 데이터에 날짜 인덱스를 적용해보기
2002년의 최고 기온 구하기
각 연도별 최고 기온, 최저 기온 구하기
groupby() : 날짜별로 묶어서 최고기온 찾기 가능
groupby는 column뿐만 아니라 index도 group화가 가능
-> 각 연도별 최고 기온 한 번에 뽑기 가능
-> 마찬가지로 연도별 최저 기온 뽑기 가능
최고기온, 최저기온을 날짜를 기준으로 merge 합병
최고 기온과 최저 기온의 차 구하기
기온차가 많이 난 것 부터 보기
-> 내림차순 정렬
통계학적 수치 보기
describe()
각 10년간(decade) 최고, 최저 기온 구하기
-> DataFrame으로 만들기 merge()
데이터 시각화
Matplotlib
import matplotlib.pyplot as plt 선언
plt.plot()
: 꺾은선 그래프 그리기
x, y 좌표값을 줄 수도 있다.
그래프의 제목, x축이 나타내는게 뭔지, y축이 나타내는게 뭔지 출력
plt.xlabel(), plt.ylabel(), plt.title()
한글 폰트 지정하는 방법
import matplotlib.font_manager as fm 선언
폰트 이름 가져오기
폰트 적용하기
점으로 표현
marker : 각각의 데이터에 대한 점찍기
'rD' 를 추가하면 빨간색 점을 표시
점과 점을 연결
선에 대한 종류 넣기
'rD:' 는 점선, 'rD-'는 실선 , 'rD--'는 --로 등
numpy로 난수값을 생성하여 그래프 그리기
x축의 값과 y축의 값을 ticks
plt.xticks(), plt.yticks()로 설정 가능
그래프 뒤쪽에 모눈종이 형태로
plt.grid()
각각의 파라미터로 수정 가능
여러개의 그래프 곂쳐서 그리기
중첩된 그래프에 각각의 그래프 이름 추가
plt.legend() : 범례 추가
해상도 설정
dpi가 클 수록 해상도 높아진다.
웹페이지에 그래프 출력
그래프를 별도의 그림판에 저장하여 웹페이지에 보이게
plt.savefig() : 그래프 저장, dpi 설정 가능
막대그래프
plt.bar()
기본값 80%로 띄워진 bar을 100%로 bar을 붙이기
bar에 무늬 넣기
산포도 그래프, scatter graph
plt.scatter()
: 주어진 위치에 점을 찍는거 외에도 색, 크기로도 정보의 크기 표시 가능
plt.text(), plt.grid(), plt.colorbar() 사용 가능
Subplot
: 부분 그래프
'파이썬 & 머신러닝과 딥러닝' 카테고리의 다른 글
10일차 - 웹스크래핑 기법 학습 및 이를 기반으로 한 미니프로젝트 수행 (0) | 2024.01.17 |
---|---|
9일차 - 서울시 CCTV 현황, 인구현황, 범죄현황을 기반으로 데이터 분석 실습 (0) | 2024.01.16 |
7일차 - Series, DataFrame 등과 함께 Pandas 학습 및 영화 캐스팅 정보를 활용한 실습 (0) | 2024.01.12 |
6일차 - 다양한 Numpy 관련 기초 내용 및 Numpy를 활용한 기상데이터 분석 학습 (1) | 2024.01.11 |
5일차 - MySQL, pymysql, tkinter와 pymysql 연동, 기상청 데이터 분석, 인구 현황 분석 (1) | 2024.01.10 |