-
<Kaggle참고> 코로나 바이러스 분석 및 시각화(1)데이터 분석 공부 2020. 4. 1. 00:56
코딩을 하기 앞서 https://www.kaggle.com/therealcyberlord/coronavirus-covid-19-visualization-prediction에서 사용한 패키지에 대해서 정리를 하는 것이 필요할 듯 하다.
1. import numpy as np
NumPy("넘파이"라 읽는다)는 행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리 할 수 있도록 지원하는 파이썬의 라이브러리이다. NumPy는 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공한다.(출처: 위키백과)
=> 간단하게 설명하면, 데이터 분석을 포함하여 수학과 과학연산을 위한 파이썬 기본 패키지이다.
왜 사용을 하는가?
=> 첫째, 효율적인 N-차원 배열 객체를 사용할 수 있다. 이를 통해, 메모리를 효율적으로 사용할 수 있다.
둘째, scipy, pandas, matplotlib, tensorflow등 다양한 파이썬 패키지들을 numpy의 다차원 배열 자료형인 ndarray을 기본 자료형으로 사용한다. 그래서 수치해석, 통계 관현 기능을 구현하는데 필수이다.
셋째, For문과 같이 반복적인 연산 작업을 배열단위로 처리하여, 코딩 효율성을 높인다
2. import matplotlib.pyplot as plt
- Matplotlib은 파이썬에서 데이터를 차트나 플롯(Plot)으로 그려주는 라이브러리 패키지이다. 그리고 데이터 시각화를 위해 널리 사용되는 패키지이다.
- Matplotlib은 라인 플롯, 바 차트 ,파이차트, 히스토그램, Box Plot, Scatter Plot 등을 비롯하여 다양한 스타일들을 지원해준다.
3. import matplotlib.colors as mcolors
https://matplotlib.org/3.1.0/api/colors_api.html#module-matplotlib.colors
Matplotlib colormaps를 사용하기 위한 코딩이다. 음... 그냥 다양한 Color들을 불러오기 위한 패키지라고 보면 될거 같다.
사실 나도 잘 모륵겠다... 그래서 인터넷 뒤적이고 예제 코드들을 참고 많이 해야할 거 같다. ㅠㅠ
4. import pandas as pd
- pandas는 python을 이용한 데이터 분석에 있어서 빼놓을 수 없는 단짝이라고 볼 수 있다.
- pandas는 오픈소스이고, BSD 라이센스 라이브러리입니다. 고성능의 사용이 쉬운 데이터구조와 python 프로그래밍언어를 위한 데이터분석 도구를 제공한다.
- 핵심 기능은 다음으로 요약할 수 있을 것 같다.
첫째, 자동적 또는 임의의 축의 이름에 따라 데이터들을 정렬할 수 있게 한다. 또한, 잘못 정렬된 데이터에 의한 오류를 방지하고, 다양한 방식으로 색인된 데이터를 다루게 한다.
둘째, 통합된 시계열 기능이 있다.
셋째, 시계열 데이터와 비시계열 데이터를 같이 다룰 수 있는 통합 자료 구조이다.
넷째, 색인이 다른 객체 간의 산술연산이 가능하다, 만약 객체를 더할 때, 짝이 맞지 않는 색인이 있으면 두 색인이 통합된 결과를 만들어 낼 수 있다.
다섯째, 누락된 데이터를 유연하게 처리할 수 있다
여섯째, SQL과 같은 일반 데이터베이스처럼 데이터를 합치고 관계연산을 수행하는 기능이 가능하다.
결론: pandas는 데이터 분석에 아주 적합해서 그냥 쓰자.
5. import random
파이썬에서 난수를 사용하기 위해서는 기본적으로 제공되는 random모듈을 사용한다. 여기서 사용되는 함수는 다음과 같다.
- randint(최소, 최대) : 입력 파라미터인 최소부터 최대까지 중 임의의 정수를 가져온다.
- random() : 0 부터 1 사이의 부동소수점(float) 숫자를 가져온다.
- uniform(최소, 최대) : 입력 파라미터인 최소부터 최대까지 중 임의의 부동소수점(float) 숫자를 가져온다.
- randrange(시작,끝, [간격]) : 입력 파라미터인 시작부터 끝값까지 (지정된 간격으로 나열된) 숫자 중 임의의 정수를 가져온다.
6. import math
표준 라이브러리 중 수학과 관련된 함수들을 모아 놓은 math 모듈을 import 한다.
함수들은 다음과 같다.
1) 표현함수
ceil(x) 올림 floor(x) 내림 trunc(x) 절사 2) 삼각 함수
cos(x) 코사인 sin(x) 사인 tan(x) 탄젠트 acos(x) 아크코사인 asin(x) 아크사인 atan(x) 아크탄젠트 atan2(x, y) x/y 아크탄젠트 => 라디안값으로 반환된다.
3) 하이퍼볼릭 함수
cosh(x) 하이퍼볼릭 코사인 sinh(x) 하이퍼볼릭 사인 tanh(x) 하이퍼볼릭 탄젠트 acosh(x) 하이퍼볼릭 아크코사인 asinh(x) 하이퍼볼릭 아크사인 atanh(x) 하이퍼볼릭 아크탄젠트 => 라디안값으로 반환된다.
4) 각도 변환
degrees(x) 60분법으로 변환 radians(x) 호도법으로 변환 5) 논리 함수
isclose(x, y, rel_tol=z) x와 y가 (z*1e+02)% 내외로 가까우면 True, 아니면 False isinf(x) x가 inf이면 True, 아니면 False isfinite(x) x가 inf, nan이면 False, 아니면 True isnan(x) x가 nan이면 True, 아니면 False => isclose(x, y, rel_tol=z) 에서 rel_tol=z를 미입력시 기본값은 1e-09로 계산합니다. 두 값의 차이가 5% 이내라면 z=0.05를 사용한다.
6) 로그함수
log(x, y) y를 밑으로 하는 x 로그 log10(x) 10을 밑으로 하는 x로그 log1p(x) e를 밑으로 하는 x+1로그 log2(x) 2를 밑으로 하는 x로그 - Tip : log(x, y)에서 y를 미입력 시 밑을 e로 사용하여 자연로그로 이용한다.
7) 연산함수
pow(x, y) x의 y승 sqrt(x) 루트 x erf(x) 오차함수 erfc(x) 여오차함수 exp(x) e의 x승 expm1 e의 x-1승 frexp(x) x를 (가수부, 지수부)로 반환 ldexp(x, y) x*(2^y) gamma(x) 감마함수 lgamma(x) 감마함수의 자연로그 factorial(x) 팩토리얼 fsum([x, y, z, …]) 리스트의 합 fmod(x, y) x를 y로 나눈 나머지 fabs(x) 절대값 gcd(x, y) x와 y의 최대공약수 hypot(x, y) 유클리드 놈을 반환 modf(x) x를 (소수부, 정수부)로 반환 copysign(x, y) y의 부호를 사용하는 x를 반환
8) 상수
e e pi π tau τ inf ∞ nan Not a Number '데이터 분석 공부' 카테고리의 다른 글
Python, Warnings을 왜 활용하는가? (0) 2020.04.05 <Kaggle참고> 코로나 바이러스 분석 및 시각화(2) datetime 활용하기 Python, 파이썬 (0) 2020.04.04 plotpy.plotpy 모듈 에러 발생시 어떻게 해결하는가? (0) 2020.03.28 [Python, Jupyter Notebook] %matplotlib inline이 뭐니? (0) 2020.03.14 Python map() 함수란 무엇인가? (0) 2020.03.05