예시1
import numpy as np
a1 = np.array([1, 2, 3, 4, 5])
print([1, 2, 3, 4, 5])
print(a1)
print(type(a1))
결과
[1, 2, 3, 4, 5]
[1 2 3 4 5]
<class 'numpy.ndarray'>
예시2
a2 = np.arange(10)
print(a2)
결과
[0 1 2 3 4 5 6 7 8 9]
예시3
# 변수 a3, 100아래의 3의 배수
a3 = np.arange(3, 100, 3)
print(a3)
결과
[ 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72
75 78 81 84 87 90 93 96 99]
예시4
# 1에서 부터 10아래 0.5씩 증가는 숫자, step = 0.5
a4 = np.arange(1.3,10, 0.5)
print(a4)
#lista = [i for i in range(1.3, 10, 0.5)]
결과
[1.3 1.8 2.3 2.8 3.3 3.8 4.3 4.8 5.3 5.8 6.3 6.8 7.3 7.8 8.3 8.8 9.3 9.8]
예시5
a4 = np.linspace(0, 10, 15) #수평으로 잘랐을 때 구분해달라는 말, arange는 두번째에 스탑을 해주는 것이 안들어갔음
# 하지만 linspace는 들어감
print(a4)
결과
[ 0. 0.71428571 1.42857143 2.14285714 2.85714286 3.57142857
4.28571429 5. 5.71428571 6.42857143 7.14285714 7.85714286
8.57142857 9.28571429 10. ]
예시6
#, 대신 .로 들어감 정수대신 실수로 들어간다는 의미
a5 = np.zeros(5)
print(a5)
#실수 -> 정수로 바꿈
a6 = np.ones(5, dtype = np.int64)
print(a6)
#정수 ->float으로 바꿈
a6.astype(np.float64)
결과
[0. 0. 0. 0. 0.]
[1 1 1 1 1]
Out[10]:
array([1., 1., 1., 1., 1.])
예시7
#정수를 실수로 강제통일
lista = [1, 2, 3.5, 4.2]
a7 = np.array(lista)
print(a7)
#문자열로 강제로 통일
listb = [1, 2, 'abc', 'def']
a8 = np.array(listb)
print(a8)
#a8.astype(np.int64)
결과
[1. 2. 3.5 4.2]
['1' '2' 'abc' 'def']
예시8
#a8.dtype # ('<U11') = 유니코드라는 뜻
print(a7.dtype)
print(a7.ndim) #몇차원 array인지를 물어보는 것
print(a7.shape) #어떤 모양인지를 물어보는 것 , 투플형태로 일차원 배열이라는 결과가 나옴
print(a7.size) #이 배열안에 있는 모든 elument들의 갯수
print(a7.itemsize) #데이터 타입의 byte사이즈
print(a7.data)
결과
float64
1
(4,)
4
8
<memory at 0x00000132A97AF940>
예시9
a10 = np.arange(10, 100, 5)
print(a10)
#특정 인덱스
print(a10[0], a10[-1])
#스타트, 스탑
print(a10[3:7])
#스타트, 스탑, 스텝
print(a10[2:9:2])
#인덱싱 하고 파이썬 리스트하고 결과는 똑같음
결과
[10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95]
10 95
[25 30 35 40]
[20 30 40 50]
예시10
a10 = np.arange(10, 100, 5)
print(10)
print(a10[[1, 3, 7]])
#파이썬 리스트를 사용
list10 = [x for x in range(10, 100, 5)]
print(list10)
#print(list10[[1, 3, 7]])
결과
10
[15 25 45]
[10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
예시11
#조건식 사용
a10 = np.arange(10, 100, 5)
print(a10)
print(a10[a10%10==5])
#내가 원하는 정보만 뽑아보기..?
x= (a10%10==5)
print(x)
print(x.shape)
print(a10.shape)
print(a10[x])
결과
[10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95]
[15 25 35 45 55 65 75 85 95]
[False True False True False True False True False True False True
False True False True False True]
(18,)
(18,)
[15 25 35 45 55 65 75 85 95]
예시12
#그냥 담아줌 (2개의 리스트를 연결)
lista = [x for x in range(3)]
listb = [x for x in range(10, 15)]
print(lista)
print(listb)
print(lista + listb)
#print(lista - listb)
결과
[0, 1, 2]
[10, 11, 12, 13, 14]
[0, 1, 2, 10, 11, 12, 13, 14]
에시13
#계산을 하려고 함
a1 = np.arange(5)
a2 = np.arange(10,15)
print(a1)
print(a2)
print('add:',a1+ a2)
#연결할때
print( np.concatenate((a1, a2)) )
print('sub:', a1-a2)
print('mul:',a1*a2)
print('div:',a1/a2)
결과
[0 1 2 3 4]
[10 11 12 13 14]
add: [10 12 14 16 18]
[ 0 1 2 3 4 10 11 12 13 14]
sub: [-10 -10 -10 -10 -10]
mul: [ 0 11 24 39 56]
div: [0. 0.09090909 0.16666667 0.23076923 0.28571429]
'백엔드개발자 준비하기 - 파이썬' 카테고리의 다른 글
[파이썬] numpy ndarrary2d(2차원) (0) | 2023.02.22 |
---|---|
[파이썬] numpy ndarrary2d(2차원) (0) | 2023.02.13 |
[파이썬] numpy (0) | 2023.02.13 |
[파이썬] random (0) | 2023.02.13 |
[파이썬] requests (0) | 2023.02.13 |