ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 데이터 분석 특강 실습 정리
    Study/Python 2021. 6. 29. 15:47

    import matplotlib.pyplot as plt
    import numpy as np

    t = np.arange(0., 5., 0.2)
    plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')  # 세 개의 그래프 한 번에 표현
    """
    plt.plot(t, t, 'r--')
    plt.plot(t, t**2, 'bs')
    plt.plot(t, t**3, 'g^')
    이것들과 같음
    """
    plt.show()

     

     

     

    -

     

     

     

    import numpy as np

    print(np.pi)  # 파이 값
    print(np.sin(0))  # sin함수
    print(np.cos(np.pi))  # cos함수. cos(3.14)

    a = np.random.rand(5)  # rand함수로 랜덤 함수 다섯 개.
    print(a)  # 랜덤 값들 출력
    print(type(a))  # 랜덤 값들의 타입 값 출력 (다차원 배열 타입)

    print(np.random.choice(6, 10))  # 정수 난수 출력. 인자의 뜻은 0~5의 여섯가지 정수 중 10개 출력
    print(np.random.choice(10, 6, replace=False))  # replace=False를 인자로 주면 중복 금지
    print(np.random.choice(6, 10, p=[0.1, 0.1, 0.5, 0.1, 0.1, 0.1]))  # 확률 지정

     

     

     

    -

     

     

     

    import matplotlib.pyplot as plt
    import numpy as np

    dice = np.random.choice(6, 100000, p=[0.1, 0.1, 0.5, 0.1, 0.1, 0.1])  # numpy를 사용해 히스토그램 그리기

    plt.hist(dice, bins=6)
    plt.show()

     

     

     

    -

     

     

     

    import matplotlib.pyplot as plt
    import numpy as np

    x = np.random.randint(10, 100, 2000)
    y = np.random.randint(10, 100, 2000)
    size = np.random.rand(2000) * 100
    print(len(x))
    print(len(y))
    print(len(size))

    plt.scatter(x, y, s=size, c=x, cmap='jet', alpha=0.7)
    plt.colorbar()
    plt.show()

     

     

     

    -

     

     

     

    import numpy as np

    a = np.array([1, 2, 3, 4])  # 리스트로 ndarray 만들기
    print(a)

    print(a[1], a[-1])  # 인덱싱
    print(a[1:])  # 슬라이싱

    a = np.zeros(10)  # 0으로 이루어진, 크기가 10인 배열 생성
    print(a)

     

     

     

    -

     

     

     

    import matplotlib.pyplot as plt
    import numpy as np

    a = np.random.randn(1000000)  # 정규분포를 갖는 랜덤 숫자

    plt.figure(dpi = 300)
    plt.hist(a, bins = 1000)
    plt.show()

     

     

     

    -

     

     

     

    import numpy as np

    a = np.zeros(10) + 5  # 값들에 5를 한 번에 더하기
    print(a)

    b = np.linspace(1, 2, 11)  # 1에서 2까지를 11개로 나누기
    print(np.sqrt(b))  # b값의 제곱근을 출력

     

     

     

    -

     

     

     

    import matplotlib.pyplot as plt
    import numpy as np

    a = np.arange(-np.pi, np.pi, np.pi/100)  # numpy를 활용하여

    plt.plot(a, np.sin(a))  # sin그래프
    plt.plot(a, np.cos(a))  # cos그래프
    plt.plot(a + np.pi/2, np.sin(a))  # a+pi/2와 a의 sin을 이용한 그래프 그리기
    plt.show()

     

     

     

    -

     

     

     

    import numpy as np

    a = np.arange(-5, 5)
    print(a)
    print(a[a<0])  # 인덱스를 이용해 True인 것만 출력

    mask1 = abs(a) > 3  # abs는 절댓값. 절댓값을 취했을 때 3보다 큰 것 출력
    print(a[mask1])

    mask2 = abs(a) > 3  # 절댓값이 3보다 큰 경우 True
    mask3 = abs(a) % 2 == 0  # 절댓값이 짝수인 경우 True
    print(a[mask2+mask3])  # 둘 중 하나라도 참일 경우 출력
    print(a[mask2*mask3])  # 둘 다 참일 경우 출력

     

     

     

    -

     

     

     

    import matplotlib.pyplot as plt
    import numpy as np

    x = np.random.randint(-100, 100, 1000)  # 1000개의 랜덤 값 출력
    y = np.random.randint(-100, 100, 1000)

    print(len(x))
    print(len(y))
    print(len(size))
    mask1 = abs(x) > 50  # x에 저장된 값 중 절댓값이 50보다 큰 경우
    mask2 = abs(y) > 50
    x = x[mask1 + mask2]  # mask1과 mask2 중 하나라도 충족한 경우
    y = y[mask1 + mask2]
    size = np.random.rand(len(x)) * 100

    plt.scatter(x, y, s = size, c=x, cmap='jet')
    plt.colorbar()
    plt.show()

     

     

     

    # 최근 버전의 numpy에서는 s의 값과 x, y 값의 길이를 맞춰주어야 한다. 따라서 size 값을 x나 y의 길이로 주지 않으면 오류가 일어난다.

    'Study > Python' 카테고리의 다른 글

    [Python/Matplotlib] 기온 csv파일을 읽어와서 데이터 분석  (0) 2022.01.13
    [Python] 데이터 분석 특강 정리2  (0) 2021.06.30
    [Python] 클래스2  (0) 2021.06.04
    [Python] 클래스  (0) 2021.06.01
    [Python] 모듈  (0) 2021.05.25
Designed by Tistory.