728x90

데이터 시각화 

※ Matplotlib 

  • matplotlib은 파이썬에서 자료를 차트나 플롯(plot)으로 시각화하는 아주 유용한 패키지이다.
  • matplotlib은 아래와 같은 그래프를 제공하여 다양한 시각화 기능을 제공한다.

        - 막대 그래프 (bar)

        - 선 그래프(line)

        - 산포도(scatter)

        - 상자(box)

        - 히스트그램(histogram)

  • matplotlib 웹사이트 

- http://matplotlib.org

 

Matplotlib: Python plotting — Matplotlib 3.2.1 documentation

 

matplotlib.org


기본 그래프

데이터의 종류에 알맞게 그래프를 선택

 

1) 정적 데이터 
    - 요약 방법 : 도표
    - 정리 방법 : 도수분포표, 분할표
    - 그래프 : 막대그래프 , 원그래프

 

2) 양적 데이터
    - 요약 방법 : 수치
    - 정리 방법 : 산술 평균, 중앙값...
    - 그래프 : 히스토그램, Boxplot, 시계열 그래프, 산포도(산점도)


matplotlib모듈을 사용하려면 우선 패키지를 설치해야 한다.

pip install matplotlib

설치 이후 패키지 사용

import numpy as np
import pandas as pd 
import matplotlib as mpl 
import matplotlib.pyplab as plt    ← pylab 서브 패키지

▶▷▶ mpl / plt 별칭은 관례이다.


1. 선 그래프(lineplot)

 

- 가장 간단한 그래프

- 데이터가 시간, 순서 등에 따라 어떻게 변화하는지를 보여주기 위함

 

  • 배열을 선 그래프로 시각화

 

  • 데이터 프레임을 선 그래프로 시각화

 

  • 시각화한 데이터베이스 인덱스


2. 막대 그래프 (bar plot)

- x 축 데이터가 카테고리 값인 경우 사용 

 

  • 기본 막대 그래프 (bar plot)

  • 가로 방향 막대 그래프 (barh plot)

  • 데이터 프레임을 막대그래프(bar)로 시각화

  • 데이터 프레임을 가로 막대그래프(barh)로 시각화- stacked=True : 막대그래프를 쌓아서 표시


3. 히스토그램(histogram)

- X변수가 가질 수 있는 값의 범위 값만 필요하고 인덱스는 필요 없다.(y변수만 필요)

- 연속적인 데이터를 표시할 때 사용 

- hist()라는 전용 함수를 사용

- 기본 막대 개수 : 10개 (dafualt = 10) # <bins= 개수>로 막대 개수 조절

 

  • hist()를 사용하여 히스토그램 시각화

  • bins : 막대 개수 조절


4. 산포도(산점도, Scatter)

- 두 변수의 관계(양, 음)를 나타 낼 때 사용

- 이변령 그래프

- plot.scatter(x좌표, y좌표)

 


5. Box plot

- 연속형 변수와 이산형 변수를 함께 그리는 그래프

- 다변령 그래프

- 기본적으로 4분 위수 표현

- 범위를 벗어난 값 = 이상치

- median(중앙값)을 표시

 

  • plot.box()를 사용하여 시각화

 

 

 

728x90
728x90

https://www.acmicpc.net/problem/1330

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net


 조건문 if 문 

  • map(함수,객체)을 사용하여 반복문 없이 결과값을 리턴
728x90
728x90

map(함수, iterable)

  • 집합의 각 요소가 함수에 의해 수행된 결과를 묶어서 리턴
  • 리스트나 튜플을 지정 함수로 처리해주는 역할을 한다.
  • 주로 코드를 간단히 만들 때 사용 (반복문에서)

 

 

  • calc()는 리스트의 객체들에 + 2 해주는 함수이다.

 

 

  • 반복문을 통해서 list인 result에 결과값은 추가한다.

 




map()을 사용하면 한줄의 코드로 반복문의 역할을 대신할 수있다

 

728x90
728x90

https://www.acmicpc.net/problem/2588

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net


입출력과 사칙연산의 마지막 문제 

 

문제를 풀기 위해선 

  • % : 나누기 연산 후 나머지 (정수만 추출)
  • // : 나누기 연산 몫 (소수점 이하는 버림)

 

 

 

 

 

 

 

728x90
728x90

정렬

1. sort()
  • np.sort() : 행렬을 오름차순으로 정렬
  • np.sort( , axis=1) : sort() 함수의 default 값은 axis=1(행 정렬)이다
  • np.sort() 함수로 정렬을 했어도 본래의 데이터 값은 변하지 않는다.

  • np.sort( ,axis=0) : 열 정렬

  • 원본 값은 변하지 않는다.


2. argsort()
  • np.argsort() : 데이터의 인덱스를 나열해주는 함수


차원 축소 연산(Dimension reduction)

  • NumPy는 다음과 같은 차원 축소 연산 명령 혹은 메서드를 지원한다.

- 최대값 / 최솟값 : min(), max(), argmin(), argmax()

- 대표값 : sum(), mean(), median(), std(), var()

- 논리값 : all() / any()

 

1.min() / max()
  • 최솟값, 최대값을 알려주는 함수


2. argmin() / argmax()
  • 최솟값, 최댓값의 인덱스를 보여주는 함수 


3. any() / all()
  • any() : 원소값 중 하나라도 True 라면 True 
  • all() : 원소값이 모두 True라면 True, 하나라도 False라면 False

4. sum(), mean(), median()

 

728x90
728x90

Numpy의 기술 통계 

  • NumPy는 다음과 같은 데이터 집합에 대해 간단한 통계를 계산하는 함수를 제공한다.
  1.  len()   : 데이터의 개수
  2.  max(), min()  :  데이터의 최댓값, 최솟값
  3.  mean()  : 데이터의 평균
  4.  median()  : 데이터의 중앙값
  5.  std()  : 표준편차 
    • 분산의 제곱근 값 
  6.  var()  : 분산( variance) 데이터와 샘플 평균 간의 거리의 제곱의 평균
    • 샘플 분산이 작을수록 데이터가 모여있고, 클수록 흩어져 있다.
  7.  percentile()  : 사분위수 표현(  ) 

1. len()
  • len() : 배열의 데이터 수를 구해주는 함수


2. max() / min()
  • np.max() : 배열의 데이터 중 가장 큰 값을 불러오는 함수
  • np.min() : 배열의 데이터 중 가장 큰 값을 불러오는 함수


 3. mean() 
  • np.mean() : 데이터의 평균을 구하는 함수


4.median()
  • np.median() : 배열의 데이터를 정렬했을 때 가장 중앙에 있는 값을 구하는 함수 


5. std()
  • np.std() : 표준 편차(standard variance)를 구하는 함수
  • 표준 편차(standard variance)란? 분산의 양의 제곱근


6. var()
  • np.var() : 분산( variance)이란? 데이터와 샘플 평균 간의 거리의 제곱의 평균
  • 분산이 작으면 데이터가 모여있는 것이고 크면 흩어져 있다.


7. percentile()
  • np.percentile() : 배열의 사분위수를 표현해준다 .
  • 아래와 같이 최댓값, 최솟값, 중앙값을 표현해 주기도 한다.

728x90

+ Recent posts