Python

Python Package Settings on Google Colab

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 개요

  • 교육상, 최근 kaggle 및 국내 경진 대회에 참여할 일이 생겼다.
  • 실습을 해보니, 매번 패키지와 파일을 다운로드 받는 것이 많이 불편했다.
    • 파일을 열 때마다, !pip install name_of_package을 실행해야 하는 번거로움이 있다.
  • 이러한 해결책으로 파이썬 패키지를 Google Colab에 영구적(Permantly)으로 설치하는 것을 실습한다.

Ch17 Types of Functions

I. 구글 클라우드 설정

본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.

  1. 만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to Cloud Resource Manager
  2. 그리고, 비용결제를 위한 카드를 등록한다. Enable billing
  3. 마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.Enable BigQuery

위 API를 이용하지 않으면 Python 또는 R과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 BigQuery 권장사항: 비용 관리에서 확인하기를 바란다.

competition - M5 EDA

강의 홍보

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 개요

  • Kaggle에서 데이터를 다운로드 하는 방법에 대해서는 생략한다.
  • 본 포스트는 Google Colab을 기반으로 작성하였다.
  • Kaggle + Google Colab 데이터 연동하는 방법은 이전 포스트를 참고한다.

Ch16 Data Types - Numeric types

I. 구글 클라우드 설정

본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.

  1. 만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to Cloud Resource Manager
  2. 그리고, 비용결제를 위한 카드를 등록한다. Enable billing
  3. 마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.Enable BigQuery

위 API를 이용하지 않으면 Python 또는 R과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 BigQuery 권장사항: 비용 관리에서 확인하기를 바란다.

Kaggle with Google Colab

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 개요

  • Kaggle 대회에서 나오는 데이터의 용량은 작은 편은 아니다.
  • 성능이 적은 노트북을 사용해야 하는 경우라면 Google Colab을 사용해야 한다.
  • 이 때, Kaggle 데이터를 Google Colab으로 다운로드 받는 과정에 대해 기술 하려고 한다.

II. 캐글 계정에서 해야 할 것

  • 먼저 본인의 계정에서 API Token을 다운로드 받는다.

matplotlib - 08 Histogram

강의 홍보

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. Matplotlib & Seaborn

(1) 기본 개요

Matplotlib는 파이썬 표준 시각화 도구라고 불리워지며 파이썬 그래프의 기본 토대가 된다고 해도 무방하다. 객체지향 프로그래밍을 지원하므로 세세하게 꾸밀 수 있다.

Ch15 Outer Join

I. 구글 클라우드 설정

본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.

  1. 만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to Cloud Resource Manager
  2. 그리고, 비용결제를 위한 카드를 등록한다. Enable billing
  3. 마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.Enable BigQuery

위 API를 이용하지 않으면 Python 또는 R과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 BigQuery 권장사항: 비용 관리에서 확인하기를 바란다.

Ch14 Cross Join

I. 구글 클라우드 설정

본격적인 빅쿼리 실습에 앞서서, Python과 연동하는 예제를 준비하였다. 빅쿼리 시작에 앞서서 선행적으로 클라우드 사용을 해야 한다.

  1. 만약 GCP 프로젝트가 없다면, 계정을 연동한다. Go to Cloud Resource Manager
  2. 그리고, 비용결제를 위한 카드를 등록한다. Enable billing
  3. 마지막으로 BigQuery API를 사용해야 하기 때문에 빅쿼리 API 사용허가를 내준다.Enable BigQuery

위 API를 이용하지 않으면 Python 또는 R과 연동해서 사용할 수는 없다. 자주 쓰는것이 아니라면 비용은 거의 발생하지 않으니 염려하지 않아도 된다. 비용관리에 대한 자세한 내용은 BigQuery 권장사항: 비용 관리에서 확인하기를 바란다.

Python - NumPy 소개 및 다양한 객체 생성

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 개요

  • NumPy는 C언어로 구성되었으며, 고성능의 수치계산을 위해 나온 패키지이며, Numerical Python의 약자이다.
  • Python을 활용한 데이터 분석을 수행할 때, 그리고 데이터 시각화나 전처리를 수행할 때, NumPy는 매우 자주 사용되기 때문에 한번쯤은 꼭 다듬고 가는 것이 중요하다.
  • 독자의 가독성을 위해 두번에 걸쳐 나눠서 연재하려고 한다.

II. 모듈 Import

import numpy as np
print(np.__version__)
1.18.4

III. 배열 생성

  • NumPy를 활용하여 Array(배열)을 만들어 본다.
  • 먼저 1차원 배열을 생성한다.
# Defining 1D array
array_1D = np.array([1,8,27,64])
print(array_1D)
[ 1  8 27 64]
  • 이번에는 2차원 배열을 생성한다.
array_2D = np.array([[1,2,3,4], [2,4,9,16], [4,8,18,32]])
print(array_2D)
[[ 1  2  3  4]
 [ 2  4  9 16]
 [ 4  8 18 32]]
  • 이번에는 3차원 배열을 생성한다.
array_3D = np.array([[[1,2,3,4],[5,6,7,8]],[[1,2,3,4],[9,10,11,12]]])
print(array_3D)
[[[ 1  2  3  4]
  [ 5  6  7  8]]

 [[ 1  2  3  4]
  [ 9 10 11 12]]]

IV. 배열에 대한 정보 확인

  • 배열의 정보를 확인하는 다양한 함수가 존재한다.
  • 현재 저장된 배열에 대해 RAM의 주소를 확인할 수 있다.
print(array_2D.data)
<memory at 0x7f1348684ea0>
  • 배열의 구조를 확인할 수 있다.
print(array_2D.shape)
(3, 4)
  • 배열의 데이터 타입을 확인할 수 있다.
print(array_2D.dtype)
int64
  • 배열의 간격 및 각 요소간의 간격에 대해서도 확인이 가능하다.

V. NumPy를 활용한 다양한 객체 생성

  • NumPy 패키지내의 함수를 활용하여 다양한 방식으로 패키지를 작성해보자.
# Array of 1
import numpy as np
ones = np.ones((3,4)) # 행, 열
print(ones)
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
# Array of 0
zeros = np.zeros((2,3,5), dtype=np.int16) # 3차원의 개수, 2차원의 개수, 1차원의 개수
print(zeros)
[[[0 0 0 0 0]
  [0 0 0 0 0]
  [0 0 0 0 0]]

 [[0 0 0 0 0]
  [0 0 0 0 0]
  [0 0 0 0 0]]]
# Array with 랜덤값
np.random.random((2,2)) # 2차원의 개수, 1차원의 개수
array([[0.25327514, 0.82196535],
       [0.77309235, 0.84250901]])
# Empty 배열
emptyArray = np.empty((3,2))
print(emptyArray)
[[0. 0.]
 [0. 0.]
 [0. 0.]]
# Full Array
fullArray = np.full((2,2), 7)
print(fullArray)
[[7 7]
 [7 7]]
# Array of Evenly-Spaced Values (1차원 배열)
evenSpacedArray = np.arange(10,50,5)
print(evenSpacedArray)
[10 15 20 25 30 35 40 45]
  • arange 특정한 규칙에 따라 증가하는 수열을 생성한다.
  • 위 예제에서는 5만큼 증가하는 수열을 만들었다.
evenSpacedArray2 = np.linspace(0,2,9)
print(evenSpacedArray2)
[0.   0.25 0.5  0.75 1.   1.25 1.5  1.75 2.  ]
evenSpacedArray3 = np.logspace(0,2,9)
print(evenSpacedArray3)
[  1.           1.77827941   3.16227766   5.62341325  10.
  17.7827941   31.6227766   56.23413252 100.        ]
  • linspace & logspace 명령은 선형 구간 혹은 로그 구간을 지정한 구간의 수만큼 분할한다.

VI. What’s Next

지금까지는 NumPy를 활용한 객체 생성에 대해 짧게 익혔다. 그러나, NumPy의 가장 중요한 것은 각각의 배열간의 연산이며, 이러한 연산기법에 대한 이해가 있어야 향후에 배우게 될 머신러닝 & 딥러닝에 대한 이해를 하는데 도움이 될 수 있기 때문에, 꼭 다음 포스트를 읽어두는 것을 추천한다.

Python - Pandas 병렬처리

강의 홍보

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

지난 포스트에서는 lambda의 기본적인 개념에 대해서 익혔다면, 이제 본격적인 데이터 전처리와 관련된 예제를 올리려고 한다.