PYTHON 기초 (2)
6. 라이브러리
6-1. 라이브러리 장착
라이브러리는 그냥 관용어구 정도라고 생각한다.
import “a” as b, a를 b라는 이름으로 가져온다!
다가져오지 말고, 라이브러리에서 특정 어구만 가져오고 싶을 때
6-2. 선택적으로 라이브러리 장착
from a import b, 라이브러리 b로부터 a를 쓴다!
7. 파이썬 설치하기
7-1. ANACONDA
1번 anaconda! 검색해보니, 좀 아는 사람들은 아나콘다 다운 안받는다. 무겁다고
7-2.SPYDER
2번 spyder는 아나콘다와 같이 제공되는 ide(integrated development environment다. 통합개발환경은 알고리즘을 프로그래밍 하느데 필요한 도구들을 제공한다.
7-3.JUPYTER
3번 jupyter는 코드를 만들고 공유하는 일종의 플랫폼이라고 생각하면 될 것 같다.
Stackoverflow에 따르면, 2번은 말그대로 프로그램 개발이나, 실험에 적합하고
데이터 분석은 주피터랩에서 한다고 한다. 또한 자신은 spyder보다는 visual studio를 선호한다고 한다
8. NUMPY
여기서 질문
도대체 왜 넘파이의 어레이가 필요한 걸까?
그냥 파이썬 리스트 쓰면 안돼?
8-1. LIST
파이썬 리스트는 1차원이다.
리스트에서도 여러 차원을 중합할 수 있지만, 1차원의 리스트가 1차원의 리스트를 저장하는 것 뿐이다.
리스트는 서로 같은 데이터 타입일 수도 있고, 다른 데이터 타입일 수도 있다.
리스트에서는 다차원 슬라이싱(?)이 허용되지 않는다.
리스트로는 특정 행에는 접근이 가능하지만 특정 열에는 접근이 불가능하다
Element wise opereation 불가능, 즉 원소와 원소의 상호작용이 불가능(같은 위치의 원소끼리 더하거나 곱하는 것이)
8-2. NUMPY
넘파이로는 말그대로 행렬! 다차원 행렬이 생성
행렬은 기본적으로 같은 데이터 타입이며
다차원 슬라이싱 가능, element wise operation 가능
행렬연산에 특화. 데이터 크기도 작음.
8-3. NUMPY ARRAY
My_list가 [1,2,3,4]라는 리스트로 정의됨
my_list는 np.array라는 다차원 행렬 my-_array로 정의됨
[1,2,3]이라는 리스트를 첫째 원소, [4,5,6]이라는 리스트를 둘째 원소로하는 리스트를 np. Array형식으로 my_2darray 행렬로 정의.
즉, 원소들이 ELEMENTWISE 해졌기 때문에, 문자열로 연산이 되지 않는다. 순서적 특성보다는 행렬적 특성을 가지게 된다.
8-4. SELECTING NUMPY ARRAY ELEMENTS
Subset, my_aaray의 2번째 원소는? 2 ; 지금은 1차원 이라서 그러는 듯, 1차원에서는 리스트랑 차이가? 없쥬?
Slice, my_array의 1번째부터 2번째 원소는? 1,2,
Subset 2d numpy array, my_2darray의 모든 원소 중 첫번째 원소는 ? 1,4, 0번째 열의 모든 행의 값.
8-5. NUMPY ARRAY OPERATION
리스트 오퍼레이션을 기억해볼 것.
My_array가 3보다 큰가? 4번째 원소만 4보다 크니, array([f,f,f,t])로 표현된다. 데이터 타입은 불린
My_array*2를 하면, 각각의 원소에 *2가 적용된다.
My_array 와 np.array([5,6,7,8])을 더하면 두개의 np.array가 같은 차원의 원소가 같은 열에 대하여 더해진다.
8-6. NUMPY ARRAY FUNCTION
Shape, array의 차원을 알아본다.
Append, 다른 array를 첨가한다.
Insert, 원소를 array에 삽입한다.
Delete, 원소를 array에서 제거한다.
Mean, array의 각 열에 평균을 구한다.
Median, array의 중앙값을 구한다.
Corrcoef, array의 각 원소간의 상관 계수를 구한다.
Std, array의 표준편차를 구한다.