본문 바로가기

728x90

파이썬응용

(5)
파이썬_응용단계 ep.8 난수와 샘플링, 데이터 카운팅! 서론 난수? 임의의 수? 우리가 일반적으로 난수를 발생시킬 때, 정말 무작위로 컴퓨터 내에서 아무거나 뽑아내는 것이라고 생각하는 경향이 있습니다. 무작위란 무엇일까요? 랜덤이란 굉장히 인간적인 개념일지도 모릅니다. 수학이나 통계에서 의도가 들어가지 않은 것이나, 말그대로 규칙성을 아예 갖지 않는 것은 우리가 포착하기 어렵습니다. 컴퓨터 프로그램에서 발생하는 무작위의 수는 사실 엄격한 의미의 무작위가 아닙니다. 우리가 난수를 뽑을 때면 컴퓨터는 일련의 작업을 거칩니다. 어떠한 특정한 시작 숫자를 정해주면 컴퓨터가 정해진 알고리즘에 의해 마치 난수처럼 보이는 수열을 생성할 수 있는데요. 이를 시드(seed)라고 합니다. 이번 시간에는 numpy에서 난수와 샘플링에 대해서 알아봅니다. 난수 발생과 카운트 np..
파이썬_응용단계 ep.6 배열의 연산 2차원 그리드 포인트 생성 지난 시간에 대한 추가부분입니다. 변수가 2개인 2차원 함수를 그래프를 그리거나, 표를 작성할 때 사용하는 2개의 좌표값 쌍을 그리드 포인트라고 합니다. (x,y) = (0,0), (0,1), (0,3), (0,4), (1,0), (2,0) .... (2,4) numpy의 meshgrid는 사각형 영역을 구성하는 가로축의 점들과 세로축의 점들을 나타내는 두 벡터를 인수로 받아서 사각형 영역을 이루는 조합을 출력 합니다. x = np.arange(3) y = np.arange(5) x,y (array([0, 1, 2]), array([0, 1, 2, 3, 4])) X, Y = np.meshgrid(x,y) X array([[0, 1, 2], [0, 1, 2], [0, 1, 2],..
파이썬_응용단계 ep.5 배열의 연결과 분할 서론 배열을 연결하는 부분에서는 다량의 실습용 코드들이 등장하게 됩니다. 사실 이전부터 원래도 많긴 했지만 더욱 많아지게 됩니다! 이론을 열심히 배우는 것도 중요하겠습니다. 하지만 손으로 직접 쓰는 것만큼 더 좋은 공부방법도 없겠죠?! 직접 해보는 것과 열심히 보는 것은 다릅니다. 짜릿한 익스트림 자전거 처럼요! 자 먼저 concatenate 부터 시작합니다 🙌 배열의 연결 행의 수나 열의 수가 같은 두 개 이상의 배열을 연결하여 더 큰 배열을 생성합니다. 리스트 자체는 + 연산자를 통해 합치는 것이 가능합니다. [1,2] + [3,4] [1, 2, 3, 4] 다만, 이를 ndarray에서 진행하면, 벡터화 연산이 되어 버립니다. arr1 = np.arange(1,4) arr2 = np.arange(4,..
파이썬_응용단계 ep.3 배열 깎는 조각가 서론 16세기의 걸출한 조각가 미켈란젤로에게는 이러한 일화가 있습니다. 다비드상, 피에타상과 같은 걸출한 조각상을 믿기 힘들정도로 빨리 제작한 이후입니다. 누군가가 미켈란젤로에게 다비드상을 어떻게 이렇게 사람처럼 만들게 되었느냐고 물었을 때, 미켈란젤로는 제작 초기 거대한 석고 뭉치를 보면서 이렇게 생각했다고 하죠? 그 안에 이미 조각상이 서있었소 저는 망치와 끌로 그사람을 현실로 꺼내주었을 뿐이오 이미 그의 손 안에는 석고뭉치가 아닌 잘 깎인 조각상이 있었던 것 같습니다. 몇 가지 단순한 도구들을 통해 예술가는 딱딱한 덩어리들에서 경이로움을, 혹은 어떠한 숭고한 가치를 꺼내놓기도 합니다. 우리도 할 수 있습니다. 물론 대단하진 않지만, numpy에서 할 수 있습니다. 배열을 다루는 여러가지 망치와 끌도..
파이썬_응용단계 ep1. Numpy와 함께 딥러닝의 세계로 그 프로그래밍 언어가 사라지지 않는 이유 세상에는 다양한 프로그래밍 언어가 생겨났다가, 인기를 끌기도 하고, 사람들의 기억에 잊혀지기도 하고, 극소수가 사용하지만 꾸준히 살아남기도 합니다. 그러다가 존재감이 사라지는 언어도 존재합니다. Visual Basic.NET, Elm 등이 그 사례입니다. 하지만 어떠한 프로그래밍 언어들은 계속 쓰이는 이유는 무엇일까요? 그것이 광범위하게 쓰이기 때문입니다 C나 C++ 등 사용법이 어렵지만 게임 개발 등 많은 곳에서 쓰이는 언어는 그 사용자의 수가 곧 힘이 되기 때문에, 수명이 계속 늘어납니다. Java script, java, python 등도 동일합니다. 굉장히 강력한 기능을 제공합니다. 특히 파이썬은 배열화된 연산에 강력한 기능을 제공합니다. 그래서 데이터 분..

728x90