
numpyEx8
import numpy as np
arr = np.arange(8)
print(arr)
print()
arr2 = arr.reshape([4,2])
print(arr)
print(arr2)
print()
print(arr2.T) # 열이 행으로 바뀜 transpose 약자
print()
ldata = [10,20,30,40,50,60]
arr3 = np.reshape(ldata, [3,2])
print(arr3)


numpyEx9
import numpy as np
xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5])
yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5])
cond = np.array([True, False, True, True, False])
result = [x if c else y for x,y,c in zip(xarr, yarr, cond)]
print(result)
print()
result2 = np.where(cond, xarr, yarr)
print(result2)
print()
np.random.seed(12345)
arr =np.random.randn(4, 4)
print(arr)
print(np.where(arr > 0, 2, -2))
print()
print(np.where(arr >0, 2, arr))
print()
data = np.array([2,3,5,7,8,7,3,7])
print(np.where(data == 7)) #인덱스 위치를 찾을때도 where 사용


import numpy as np
np.random.seed(12345)
arr = np.random.randn(5,5)
print(arr)
print()
print(f'평균: {arr.mean()}')
print(f'평균: {np.mean(arr)}') #평균 구하기
print(f'표준편차: {arr.std()}')
print(f'분산: {arr.var()}')
print(f'합: {arr.sum()}')
print()
print(f'열 평균: {arr.mean(axis=0)}') #열 = 0 행 = 1 일단은 그렇게 생각하기
print(f'행 평균: {arr.mean(axis=1)}') #열 = 0 행 = 1 일단은 그렇게 생각하기
print()
arr2 = np.arange(10)
print(arr2)
print(arr2.cumsum()) #누적된 값을 하나나씩 더해서 출력
print()
arr3 = np.array([[0,1,2],
[3,4,5],
[6,7,8]])
print(arr3)
print(f'열 누적합:\n{arr3.cumsum(axis=0)}')
print(f'열 누적곱:\n{arr3.cumprod(axis=0)}')

day2_lec_ quiz 올려준거 연습하기

import numpy as np
np.random.seed(12345)
arr = np.random.randn(100)
print((arr>0).sum())
print()
bools = np.array([[False, False, True, False],
[False, False, True, True]])
print(bools.sum())
print()
print(bools.any())
print(bools.any(axis=1)) #True 가 하나라도 있을때
print(bools.any(axis=0))
print(bools.all(axis=0)) #and 와 같은거라고 보면됨
print()
data = np.random.randn(10, 4) * 4
print(data)
print()
print(data[(data > 3).any(axis=1)])



import numpy as np
np.random.seed(12345)
arr = np.random.randn(5,3)
print(arr)
print()
arr.sort(axis=1)
print(arr)
print()
arr.sort(axis=0)
print(arr)
print(arr[::-1])

import numpy as np
np.random.seed(12345)
values = np.array([5,0,1,3,2])
indexer = values.argsort() #인덱스 값으로 정렬
print(values)
print(indexer)
print(values[indexer])
print()
arr = np.random.randn(3,5)
arr[0] = values
print(arr)
print()
print(arr[:,arr[0].argsort()])



import numpy as np
from numpy.ma.extras import setdiff1d, setxor1d
names = ['Bob', 'Joe', 'Will', 'Bob', 'Will','Joe']
print(names)
print(np.unique(names))
print()
values = np.array(([6,0,0,3,2,5,6]))
print(values)
print(np.union1d(values, [2,3,4])) #합집합
print(np.intersect1d(values, [2,3,6])) #교집합
print(np.setdiff1d(values, [2,3,6,8]))
print(np.setxor1d(values, [2,3,6,8]))
print(np.isin(values, [2,3,6]))

'Pyhton > numpy' 카테고리의 다른 글
| Day29_Python(7)_Pm (0) | 2025.09.23 |
|---|---|
| Day29_Python(7)_Am (0) | 2025.09.23 |