Programming/Python

Python Numpy 2강 - Slicing

상맹 2021. 10. 20. 16:10
반응형

아래 코드를 Slicing을 사용하면 아주 간편하게 사용가능하다

p1 = [
      [1.2],
      [3,4]
]
p1[0][0] = 8
print(p1[0][0])
print("*"*50)

row = 0
for i in p1:
  print(p1[row][0])
  row = row + 1


* Slicing

# 넘파이로 파이썬 리스트로 변환(타입)
# 넘파이로 reshape (크기가 동일해야 한다) - vector -> matrix -> tensor
# 2차원이든 3차원이든 전부다 1차원으로 변경하는 방법 = flatten
# 넘파이 슬라이싱 [:,:], 스탭 [:,::2]

import numpy as np

temp1 = [
         [1,2,3,4],
         [1,2,5,8]
]

m1 = np.array(temp1)

print(m1[0,:])
print("*"*50)

print(m1[:,:3]) # 모든 행의 2번지 까지
print("*"*50)

m2 = np.delete(m1,1,axis=1) # 모든 행에서 2열제거
print(m2)


temp2 = [
         [0,1,2,3,4],
         [5,6,7,8,9],
         [10,11,12,13,14]
]

matrix2 = np.array(temp2)

print(matrix2[:,1:4])
print("="*50)

print(matrix2[:,::2]) # 2칸씩 띄우면서 표시 - step
print("="*50)

print(matrix2[:, 1:4:2]) # 1부터 2칸씩 띄우면서 표시


p1 = [
      [1.2],
      [3,4]
]
p1[0][0] = 8
print(p1[0][0])
print("*"*50)

row = 0
for i in p1:
  print(p1[row][0])
  row = row + 1

반응형