본문 바로가기

AI/python

numpy 1~50 문제 연습

데이터 분석 입문자를 위한 파이썬 판다스 300제

numpy 1~50 문제 연습

https://wikidocs.net/book/4852

# -*- coding: utf-8 -*-
"""numpy1-50.ipynb

Automatically generated by Colab.

"""

import numpy as np

data = [1,2,3]
np_data = np.array(data)
print(np_data)

np_array = np.arange(0,100)
np_array

np_array = np.arange(3, 30, 3)
np_array

np_array = np.arange(0, 1000, 2)
np_array

np_array = np.arange(0, 1, 0.1)
np_array

data = [0, 1, 2, 3, 4, 5]
np.array(data).reshape(2,-1)

arr = np.array([
    [0, 1, 2],
    [3, 4, 5]
])
arr.reshape(-1)
# `arr.reshape(6)` `arr.flatten()`

arr.flatten()

arr = np.arange(3)
arr.reshape(3,-1)

# np.arange(6).reshape(2, 4)
# ValueError: cannot reshape array of size 6 into shape (2,4)
# 에러원인 : 6 은 (2, 4)로 불가, (2, 3) 가능

np.arange(0,6).reshape(2,-1)

np.ones(20, dtype=int)

np.ones(20, dtype=int).reshape(4, -1)

np.ones((4,5), dtype=int)

(np.ones(100, dtype=int).reshape(10, -1))*255

##
np.full((100, 100), 255)

np.zeros(12, dtype=int).reshape(3, -1)

##
np.zeros((3, 4), dtype=int)

np.array([1, 2, 3], dtype=np.int32)

arr = np.array([1, 2, 3])
print(arr.dtype)

arr = np.array(['1', '2', '3'])
print(arr.dtype)

##
arr = np.array([1, 2, 3])
arr.astype(np.int16)

arr = np.array([1.1, 2.1, 3.1])
arr.astype(np.int32)

np.linspace(0,10,20)

arr = np.arange(9).reshape(3, 3)
# arr[:][2]
arr[-1] # 기본적으로 로우 indexing

arr[:,1]

arr = np.arange(25).reshape(5, 5)
arr[3,2]

arr = np.arange(5)
arr

# [1 3]을 슬라이싱 하는 코드
arr[[1,3]]

# [1 3]을 슬라이싱 하는 코드
arr[1::2]

arr = np.arange(25).reshape(5, 5)
arr

# [6 7 8 9]를 슬라이싱
arr[1,1:]

# 첫번째와 두번째 컬럼을 슬라이싱
arr[:,:2]

# 6. 7,11, 12 를 2x2 ndarray로 슬라이싱하는 코드
arr[1:3,1:3]

# 0. 3,20, 23 를 2x2 ndarray로 슬라이싱
arr[::4,:4:3]

# [0, 23] indexing
# Fancy indexing은 좌표 쌍을 생성
arr[[0, -1],[0, 3]]

data = [1, 2, 3]
result = np.array(data) * 10
result

result = np.array(data) ** 2
result

result = np.sqrt(data)
result

score = np.array([
    [10, 20],  # 중간고사
    [14, 16]   # 기말고사
])

mean = np.mean(score, axis=0)
mean

score.mean(axis=0)

score.std(axis=1)

a = np.arange(4).reshape(2,2)
a

b = np.arange(1, 5).reshape(2,2)
b

np.dot(a, b)

np.matmul(a,b)

a@b

arr = np.arange(9).reshape(3, 3)
arr

arr.T

arr.transpose()

arr = np.arange(10)
arr

arr[::2]

arr[1::2]

### 3보다 크고 7보다 작은수
arr[ (arr>3) & (arr<7)]

arr = np.array([-1, 2, -3, 4])

arr[arr<0]

arr[ arr<0 ] = 0
arr

arr = np.array([-1, 2, -3, 4])

np.abs(arr)

# ndarray 객체에서 양수 혹은 0이면 10을 더하고 음수는 10을 빼세요
arr = np.array([-1, 2, -3, 4])
arr[arr>=0] += 10
arr[arr<0] -= 10
arr

# ndarray 객체에서 양수 혹은 0이면 10을 더하고 음수는 10을 빼세요
# `where` 함수를 사용하면 코드가 간단 !!!!!!!!!!!!
arr = np.array([-1, 2, -3, 4])
np.where(arr >= 0, arr + 10, arr - 10)

arr = [1, 2, 3, 4, 5]
np.random.shuffle(arr)
print(arr)

arr = np.array([1, 2, 3, 4, 5])
arr.argmin()

min_index = np.argmin(arr)
print(min_index)

arr = np.array([1, 2, 3, 4, 5])
arr.argmax()

max_index = np.argmax(arr)
print(max_index)

arr = np.array([2, 1, 5, 3, 7, 4, 6, 8])

# 배열을 오름차순으로 정렬
sorted_arr = np.sort(arr)

# 결과 출력
print(sorted_arr)

# 배열을 내림차순으로 정렬
sorted_arr = np.sort(arr)[::-1]

# 결과 출력
print(sorted_arr)

# 배열의 인덱스를 오름차순으로 정렬
sorted_indices = np.argsort(arr)

# 내림차순으로 정렬된 배열
sorted_arr = arr[sorted_indices]

# 결과 출력
print(sorted_arr)

# 배열의 인덱스를 오름차순으로 정렬
sorted_indices = np.argsort(arr)

# 오름차순의 반대인 내림차순 인덱스
descending_indices = sorted_indices[::-1]

# 내림차순으로 정렬된 배열
sorted_arr = arr[descending_indices]

# 결과 출력
print(sorted_arr)

# numpy.vstack 함수를 사용하여 다음 2차원 배열을 생성
arr1 = np.array([1, 2])
arr2 = np.array([3, 4])
arr3 = np.vstack((arr1, arr2))
print(arr3)

# flatten 메서드를 사용하여 다음 배열을 1차원 배열로 변경
arr = np.array([ [1, 2], [3, 4] ])
flatten_arr = arr.flatten()
print(flatten_arr)

 

numpy1-50.ipynb
0.04MB

'AI > python' 카테고리의 다른 글

Series 51~130 문제 연습  (2) 2024.10.25
파이썬(Python) 클래스 요약  (7) 2024.10.17