안녕하세요. 지난 포스팅의 넘파이 알고 쓰자 - concatenate에 이어서 다른 합치는 함수들에 대해서 알아보도록 하겠습니다. 혹시, 이전 포스팅을 보지 않으신 분은 꼭!! 보고 와주시는 것을 추천드립니다. 오늘 알아볼 함수들 전부 유사한 방식이기 때문에 보고 오시면 굉장히 수월하게 이해하실 수 있습니다. 1. np.stack(arrays, axis=0) 이 함수는 concatenate 함수에 비해서 제약이 많은 함수입니다. concatenate 함수는 합칠 axis를 제외한 shape 값을 제외하고 일치하면 되지만 stack 함수는 그런거 필요없이 합치려는 배열들의 shape이 전부 동일해야합니다. a = np.array([[1, 2], [3, 4]]) # a.shape=(2, 2) b = np.a..
안녕하세요. 지난 포스팅의 넘파이 알고 쓰자 - Random Module에서는 넘파이에서 자주 사용되는 랜덤 모듈에 대해서 알아보았습니다. 오늘 포스팅에서는 2개 이상의 넘파이 객체를 합치는 방법에 대해서 알아보겠습니다. 합치는 함수의 종류가 굉장히 많기 때문에 이번 포스팅에서는 가장 많이 쓰이는 concatenate에서 넘파이 객체 합치기의 기본 원리와 사용 방법에 대해서 설명하고 다음 포스팅에서 다른 합치는 함수들에 대해서 정리해보겠습니다. np.concatenate((a1, a2, ...), axis=0) Parameters 1). (a1, a2, ...) : a1, a2, ... 들은 각각 넘파이 객체입니다. 이들을 합치기 위해서는 각 객체의 합칠 axis의 shape을 제외하고 나머지 shape..
안녕하세요. 지난 포스팅의 넘파이 알고 쓰자 - 브로드캐스팅에서는 넘파이 객체의 핵심 개념인 브로드캐스팅에 대해서 알아보았습니다. 오늘 포스팅에서는 넘파이 알고 쓰자 - 넘파이 객체 선언의 마지막에 간단하게 설명하고 넘어갔던 랜덤 모듈에 대해서 더 자세하게 설명하도록 하겠습니다. 넘파이의 랜덤 모듈에서는 크게 4가지의 기능으로 나눌 수 있습니다. 각각 랜덤 데이터 추출(Simple Random Data), 순서 바꾸기(Permutation), 확률 분포 생성(Distribution Generator), 랜덤 생성자(Random Generator)입니다. 1. 랜덤 데이터 추출(Simple Random Data) 넘파이에서는 특정 확률 분포를 따르는 넘파이 객체를 생성하는 함수를 보유하고 있습니다. 넘파이..
안녕하세요. 지난 포스팅의 넘파이 알고 쓰자 - 넘파이 인덱싱과 슬라이싱에서는 기존의 파이썬에서 제공하는 인덱싱, 슬라이싱과 크게 다르지 않다는 것을 보았습니다. 오늘은 넘파이의 가장 핵심 개념 중 하나인 브로드캐스팅에 대해서 알아보도록 하겠습니다. 브로드캐스팅(Broadcasting)은 "흩뿌리다"라는 의미를 가지고 있습니다. 넘파이에서 대체 뭘 흩뿌린다는 걸까요? 이것은 넘파이에서 지원하는 가장 강력한 기능 중에 하나로 서로 다른 모양의 넘파이 배열이 특정 조건을 만족하면 연산이 가능하게 만들어줍니다. 그런데 넘파이 알고 쓰자[2].넘파이 기본 연산에서는 넘파이 배열의 모양이 달랐지만 계산이 불가능했습니다. 이것은 방금 말한 두 배열이 특정 조건을 만족하지 않았기 때문에 오류가 발생한 것입니다. a ..
안녕하세요. 지난 포스팅의 넘파이 알고 쓰자 - 넘파이 객체 선언에서는 간단한 환경설정과 넘파이 벡터, 행렬을 선언하는 여러가지 방법에 대해서 알아보았습니다. 오늘은 몇 가지 넘파이 연산을 알아보도록 하겠습니다. 지난 포스팅에서 봤던 함수를 적용할 예정이니 안보신 분들은 이전 포스팅을 보고 오시는 것을 추천드립니다. 코드는 제 깃허브를 참조해주시길 바랍니다. 1. 넘파이 기본 연산 파이썬에는 사칙연산을 기본적으로 제공하고 거기에 제곱, 몫, 나머지 계산까지 총 7개의 연산을 지원하고 있습니다. 넘파이도 유사한 연산을 오버라이딩(overriding)하여 제공하고 있습니다. 1). 사칙연산(+, -, *, /) 벡터와 행렬의 사칙연산을 정의해봅시다. 가장 간단한 방법은 대응되는 인덱스에 해당하는 원소끼리의 ..
안녕하세요. 오늘은 "넘파일 알고 쓰자" 카테고리의 본격적인 시작을 알리는 포스팅입니다. 오늘은 넘파이 라이브러리를 사용하기 위한 환경설정 및 간단한 사용법을 설명해드리도록 하겠습니다. 코드는 제 깃허브를 참고하시면 됩니다.(정말 기본적인 코드입니다.) 1. 환경 설정 저는 아나콘다 설치를 추천드립니다. 아나콘다 설치는 OS별(윈도우, 우분투)로 정리해두었으니 확인하시면 될 거 같습니다. 위에서 설명드린 환경 설정을 마친 후 새로운 주피터 노트북을 생성하겠습니다. 일단 아나콘다를 설치하면 넘파이 라이브러리는 자동으로 설치가 됩니다. 따라서, 편하게 사용하실 수 있겠죠? 넘파이 라이브러리를 사용하기 위해서는 주피터 노트북에서 아래의 코드를 입력했을 때 어떠한 오류도 없어야합니다. import numpy a..
안녕하세요. 이 카테고리에서는 데이터 분석에서 제일 많이 쓰지만 활용을 제대로 하지 못하는 넘파이린이분들을 위해서 작성하는 것입니다.(저도 포함됩니다 ㅠㅠ) 넘파이(Numpy)는 Numerical Python의 준말로 한국어로 하면 수치 계산 파이썬을 의미합니다. 이름에서도 느끼셨다싶이 파이썬에서 수치적인 계산에 특화된 외부 라이브러리입니다. 넘파이 내에서는 수많은 수치 연산 기법들이 구현되어 있습니다. 이러한 기법들을 기존의 파이썬의 자료형으로 구현하면 계산 성능이 잘 나오지 않습니다. 따라서 넘파이는 C언어를 파이썬에 적용하여 계산의 성능을 끌어올렸습니다. 그래서 넘파이에서는 ndarray라는 다차원 행렬 자료구조로 계산을 수행합니다. 넘파이에는 행렬 연산, 수치 연산, 기초 통계, 이산 푸리에 변환..