목록Python/Numpy (11)
개발학습일지
1차원 배열의 연산 data = [10, 20, 5, 8, 10, 33, 56, 9, 11, 45, 87, 9, 22, 548, 362, 92] data 의 모든 정보에 +5 를 해라 - 넘파이가 아닌 기본 data 리스트를 사용한 1차원 배열 연산 new_data = [ ] # 새로운 리스트 생성 for item in data : # 데이터 안에서 하나씩 꺼내서 저장할 item 변수 생성 new_data.append(item+5) # item 변수에 +5를 하고 새로운 리스트에 더한 값을 넣어라 new_data # [15, 25, 10, 13, 15, 38, 61, 14, 16, 50, 92, 14, 27, 553, 367, 97] - 넘파이가 아닌 기본 data 리스트를 사용한 리스트 컴프레이션 ne..
boolean 연산은 잘 알고있어야 데이터 분석을 정확하게 할 수 있다. - 변수 X 만들기 X = np.random.randint(1, 100, (4,5)) X # array([[ 9, 25, 68, 88, 80], # [49, 11, 95, 53, 99], # [54, 67, 99, 15, 35], # [25, 16, 61, 59, 17]]) 변수 X에서 80 보다 큰 데이터를 가져와 보자. X>80 # array([[False, False, False, True, False], # [False, False, True, False, True], # [False, False, True, False, False], # [False, False, False, False, False]]) # 불리언으로 확인..
넘파이 어레이된 변수 X 는 그래로 두고, 변수 X에서 슬라이싱 한 정보만 따로 저장하여 바꾸고 싶은 경우 X # array([[ 1, 70, 70, 75], # [100, 73, 79, 58], # [ 82, 30, 89, 70]]) Y = X[ : , 1: ] Y # array([[70, 70, 75], # [73, 79, 58], # [30, 89, 70]]) Y[ 2, 2 ]=100 Y # array([[ 70, 70, 75], # [ 73, 79, 58], # [ 30, 89, 100]]) X # array([[ 1, 70, 70, 75], # [100, 73, 79, 58], # [ 82, 30, 89, 100]]) 이렇게 하면 변수 X도 변수 Y에서 수정한 것과 같이 같이 정보가 변경된다 이..
다차원배열의 인덱스 접근 - 변수[행][열] : 인덱스 번호 입력 - 변수[행, 열] : 인덱스 번호 입력 X = np.random.randint(1, 100, (4,5)) # array([[53, 80, 81, 34, 65], # [40, 45, 64, 96, 17], # [53, 38, 54, 86, 26], # [35, 9, 19, 78, 58]]) X[1][2] # 64 X[1, 2] # 64 슬라이싱(Slicing) - 잘라서 가져오기 - 사람의 언어로 A 부터 B 까지 = A ~ B / 컴퓨터의 언어로 A 부터 B 까지 = A : B - 변수[A:B] : A 부터 B 까지 _인덱스 번호 입력 - 변수[A: ] : A부터 끝까지 # 1) 글자 변수 fullname = '홍길동' fullname[..
이번 학습에서 사용 할 배열 X = np.random.randint(1, 100, (4,5)) X # array([79, 36, 16, 10, 93], # [84, 62, 46, 18, 44], # [83, 59, 51, 21, 94], # [79, 96, 20, 46, 12]]) 최대값 - .max( ) X.max() # 96 최소값 - .min( ) X.min() # 10 전체합 - .sum( ) X.sum() # 1049 전체평균 - .mean( ) X.mean() # 52.45 표준편차 - .std( ) X.std() # 29.294154707040107 axis 활용 - 각 행별 또는 각 열별로 데이터를 분석 할 때는 축이 필요하다 - axis = 를 적어서 사용하면 된다 - 열 axis = 1..
넘파이 랜덤 추출 모듈 random - 0 ~ 1 사이의 균일 분포 추출 함수 import numpy as np import random np.random.random() # 0 ~ 1 사이의 수 랜덤으로 나옴 0.6612528063691006 np.random.random(10) # array([0.23263065, 0.00324682, 0.27491239, 0.32226089, 0.76026779, # 0.45315756, 0.29968274, 0.41864194, 0.90923674, 0.37583921]) np.random.random( (2, 3) ) #튜블 형태로 차원의 형태를 입력 # array([[0.47657049, 0.99714167, 0.7208643 ], # [0.83413672, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Za5n4/btsGnCSsnDD/ECKiL3mbFcMkaF0ghLULh1/img.png)
위에 사진처럼 reshape() 사용하여 1차원 배열 만들기 x = np.arange(2,10+1) # array([ 2, 3, 4, 5, 6, 7, 8, 9, 10]) x.size # 9 3행과 3열을 가진 배열로 변경하기 x.reshape( (3,3) ) # array([[ 2, 3, 4], # [ 5, 6, 7], # [ 8, 9, 10]]) 바뀐 배열을 다시 1차원 배열으로 바꾸기 X = x.reshape( 3,3 ) X.reshape(9) # array([ 2, 3, 4, 5, 6, 7, 8, 9, 10]) numpy 딕셔너리와 reshape() 함수 같이 사용하기 np.arange( 2, 10+1).reshape( 3, 3) # array([[ 2, 3, 4], # [ 5, 6, 7], # [..
정수의 배열을 얻고 자 하는 경우 넘파이를 쓰지 않는 방법 - range() 함수를 쓴 다음 list() 함수를 사용 range(10) # range(0, 10) list(range(10)) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 넘파이를 쓰는 방법 - np.arnage() 를 사용 np.arange(10) # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - 원하는 숫자로 만들기 : 원하는 마지막 숫자의 '+1'을 해준다고 생각하자 np.arange( 5, 14+1 ) # array([ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) - 원하는 숫자 데이터에서 짝수만, 홀수만 리스트로 배열 얻기 np.arange( 1, 20+1, 2 ) #홀수만 #..