데이터 분석 입문자를 위한 파이썬 판다스 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)
'AI > python' 카테고리의 다른 글
Series 51~130 문제 연습 (2) | 2024.10.25 |
---|---|
파이썬(Python) 클래스 요약 (7) | 2024.10.17 |