0% found this document useful (0 votes)
1 views

Numpy_TE2

Uploaded by

caue.dantas2000
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

Numpy_TE2

Uploaded by

caue.dantas2000
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Numpy_TE2

March 6, 2024

0.1 pip install numpy


[1]: import numpy as np

[2]: meu_array=np.arange(1000000)
minha_list = list(range(1000000))

[3]: %time for _ in range(10): meu_array2=meu_array*2

CPU times: user 23.6 ms, sys: 16.8 ms, total: 40.4 ms
Wall time: 38.2 ms

[5]: %time for _ in range(10): minha_list2 = [x*2 for x in minha_list]

CPU times: user 503 ms, sys: 115 ms, total: 618 ms
Wall time: 616 ms

[6]: 616/38.2

[6]: 16.125654450261777

[11]: dado = np.random.rand(2,3)

[12]: dado

[12]: array([[0.31130772, 0.09606574, 0.08276135],


[0.05146242, 0.01290972, 0.12180046]])

[13]: dado/dado

[13]: array([[1., 1., 1.],


[1., 1., 1.]])

[14]: dado+dado

[14]: array([[0.62261544, 0.19213148, 0.1655227 ],


[0.10292483, 0.02581944, 0.24360093]])

[15]: dado**2

1
[15]: array([[0.0969125 , 0.00922863, 0.00684944],
[0.00264838, 0.00016666, 0.01483535]])

[16]: dado-dado

[16]: array([[0., 0., 0.],


[0., 0., 0.]])

[17]: dado.shape

[17]: (2, 3)

[18]: dado.dtype

[18]: dtype('float64')

[19]: dado1 = [6, 8, 3.2, 9]

[20]: array1 = np.array(dado1)

[21]: array1

[21]: array([6. , 8. , 3.2, 9. ])

[22]: array1.dtype

[22]: dtype('float64')

[23]: array1.shape

[23]: (4,)

[24]: array1.ndim

[24]: 1

[25]: dado2 = [[1,2,3,4],[5,6,7,8]]

[26]: array2 = np.array(dado2)

[27]: array2

[27]: array([[1, 2, 3, 4],


[5, 6, 7, 8]])

[28]: array2.ndim

[28]: 2

2
[29]: array2.shape

[29]: (2, 4)

[30]: array2.dtype

[30]: dtype('int64')

0.1.1 Funções de numpy para criação de arrays


• zeros
• ones
• empty
• eye

[31]: np.zeros(10)

[31]: array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

[32]: np.zeros((3,6))

[32]: array([[0., 0., 0., 0., 0., 0.],


[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.]])

[33]: np.zeros((3,6,3))

[33]: array([[[0., 0., 0.],


[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]],

[[0., 0., 0.],


[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]],

[[0., 0., 0.],


[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]]])

3
[35]: np.ones((3,3))

[35]: array([[1., 1., 1.],


[1., 1., 1.],
[1., 1., 1.]])

[37]: np.empty((6,6))

[37]: array([[7.74984554e-317, 0.00000000e+000, 5.34347016e-317,


5.34353340e-317, 5.34365988e-317, 5.34391284e-317],
[5.34441876e-317, 5.34543061e-317, 5.34745430e-317,
6.94056541e-310, 6.94056534e-310, 4.86783513e-317],
[5.35974665e-317, 6.94056532e-310, 5.36083755e-317,
6.94056566e-310, 5.36118933e-317, 4.92666452e-317],
[4.87093391e-317, 4.91445912e-317, 6.94056547e-310,
6.94056534e-310, 6.94056534e-310, 6.94056534e-310],
[6.94056534e-310, 6.94056533e-310, 4.92845106e-317,
5.35786525e-317, 5.35707079e-317, 5.35767553e-317],
[6.94056532e-310, 6.94056533e-310, 6.94056534e-310,
6.94056540e-310, 6.94056534e-310, 6.94056534e-310]])

[38]: np.eye(4)

[38]: array([[1., 0., 0., 0.],


[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])

[39]: np.arange(15)

[39]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])

[40]: np.arange(0,10, 2)

[40]: array([0, 2, 4, 6, 8])

[41]: array3 = np.array([1,2,3,4,5],dtype=np.int16)

[42]: array3

[42]: array([1, 2, 3, 4, 5], dtype=int16)

[43]: array3.dtype

[43]: dtype('int16')

[44]: array4 = np.array([1,2,3,4,5],dtype=np.float32)

4
[45]: array4

[45]: array([1., 2., 3., 4., 5.], dtype=float32)

[46]: array4.dtype

[46]: dtype('float32')

[47]: array5 = np.array([1,2,3,4,5])

[48]: array5.dtype

[48]: dtype('int64')

[49]: array5_float = array5.astype(np.float32)

[50]: array5_float

[50]: array([1., 2., 3., 4., 5.], dtype=float32)

[51]: array5_float.dtype

[51]: dtype('float32')

[55]: array6 = np.array([1.2,-3.2,4.3,-6.9,5])

[56]: array6.dtype

[56]: dtype('float64')

[57]: array6.astype(np.int8)

[57]: array([ 1, -3, 4, -6, 5], dtype=int8)

[58]: array_str=np.array(['1.26', '-8.4', '28', '66'], dtype=np.string_)

[59]: array_str

[59]: array([b'1.26', b'-8.4', b'28', b'66'], dtype='|S4')

[60]: array_str.astype(float)

[60]: array([ 1.26, -8.4 , 28. , 66. ])

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

[64]: array8 = np.array([[1,4,3,6],[5,8,7,5]])

[66]: array9_bol = array7 == array8

5
[67]: array9_bol

[67]: array([[ True, False, True, False],


[ True, False, True, False]])

[68]: array7>=array8

[68]: array([[ True, False, True, False],


[ True, False, True, True]])

[69]: array7 > 3

[69]: array([[False, False, False, True],


[ True, True, True, True]])

0.1.2 Indexação e fatiamento de array

[70]: array10 = np.arange(10)

[71]: array10

[71]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

[72]: array10[6]

[72]: 6

[73]: array10[4:9]

[73]: array([4, 5, 6, 7, 8])

[74]: array10[4:9]=14

[75]: array10

[75]: array([ 0, 1, 2, 3, 14, 14, 14, 14, 14, 9])

[77]: fatia_array = array10[2:7]

[78]: fatia_array

[78]: array([ 2, 3, 14, 14, 14])

[79]: fatia_array[3]=26

[80]: fatia_array

[80]: array([ 2, 3, 14, 26, 14])

6
[81]: array10

[81]: array([ 0, 1, 2, 3, 14, 26, 14, 14, 14, 9])

[82]: fatia_array[:]=29

[83]: fatia_array

[83]: array([29, 29, 29, 29, 29])

[84]: array10

[84]: array([ 0, 1, 29, 29, 29, 29, 29, 14, 14, 9])

[85]: copia_array = array10[2:7].copy()

[86]: copia_array

[86]: array([29, 29, 29, 29, 29])

[87]: copia_array[:]=45

[88]: copia_array

[88]: array([45, 45, 45, 45, 45])

[89]: fatia_array

[89]: array([29, 29, 29, 29, 29])

[90]: array10

[90]: array([ 0, 1, 29, 29, 29, 29, 29, 14, 14, 9])

[91]: array2d= np.array([[1,2,3],[4,8,10],[7,8,9]])

[92]: array2d

[92]: array([[ 1, 2, 3],


[ 4, 8, 10],
[ 7, 8, 9]])

[93]: array2d[2]

[93]: array([7, 8, 9])

[112]: array2d[:2][1:]

[112]: array([[ 4, 8, 10]])

7
[95]: array2d[2,1]

[95]: 8

[111]: array2d[1:,2]

[111]: array([10, 9])

0.1.3 Funções Universais

[113]: array11 = np.arange(15)

[114]: np.sqrt(array11)

[114]: array([0. , 1. , 1.41421356, 1.73205081, 2. ,


2.23606798, 2.44948974, 2.64575131, 2.82842712, 3. ,
3.16227766, 3.31662479, 3.46410162, 3.60555128, 3.74165739])

[115]: np.exp(array11)

[115]: array([1.00000000e+00, 2.71828183e+00, 7.38905610e+00, 2.00855369e+01,


5.45981500e+01, 1.48413159e+02, 4.03428793e+02, 1.09663316e+03,
2.98095799e+03, 8.10308393e+03, 2.20264658e+04, 5.98741417e+04,
1.62754791e+05, 4.42413392e+05, 1.20260428e+06])

[116]: np.maximum(array7,array8)

[116]: array([[1, 4, 3, 6],


[5, 8, 7, 8]])

[117]: array7

[117]: array([[1, 2, 3, 4],


[5, 6, 7, 8]])

[118]: array8

[118]: array([[1, 4, 3, 6],


[5, 8, 7, 5]])

[119]: array7.mean()

[119]: 4.5

[120]: array12=np.random.rand(5,4)

[121]: array12

8
[121]: array([[0.36987118, 0.58286904, 0.51074946, 0.76138229],
[0.8866928 , 0.53875903, 0.28400413, 0.10620172],
[0.93948351, 0.08411766, 0.82709832, 0.92290975],
[0.2311913 , 0.91418834, 0.62892927, 0.02249321],
[0.19363851, 0.92623415, 0.15476194, 0.58077278]])

[122]: array12.mean()

[122]: 0.5233174201901883

[123]: array12.sum()

[123]: 10.466348403803767

[124]: 10.466348403803767/20

[124]: 0.5233174201901883

[125]: array12.min()

[125]: 0.022493212232684967

[126]: array12.argmin()

[126]: 15

[127]: array12.max()

[127]: 0.9394835119880744

[128]: array12.argmax()

[128]: 8

[129]: array12.var()

[129]: 0.09878848977280333

[130]: np.sin(array12)

[130]: array([[0.36149533, 0.55042153, 0.4888312 , 0.68992272],


[0.77498591, 0.51307121, 0.28020162, 0.10600219],
[0.80725337, 0.08401849, 0.73596999, 0.79736104],
[0.22913729, 0.79206738, 0.58827924, 0.02249132],
[0.19243067, 0.79936291, 0.15414488, 0.54867018]])

[141]: np.tan(array12)

9
[141]: array([[0.38771497, 0.65927675, 0.56034308, 0.95308592],
[1.22628522, 0.59774401, 0.29189457, 0.1066028 ],
[1.36775073, 0.08431662, 1.08708213, 1.32122223],
[0.23540032, 1.29754865, 0.72747606, 0.02249701],
[0.19609559, 1.33039009, 0.15600947, 0.65627351]])

[142]: np.cos(array12)

[142]: array([[0.93237392, 0.8348869 , 0.87237839, 0.72388303],


[0.63197851, 0.85834605, 0.95994117, 0.9943659 ],
[0.59020504, 0.9964642 , 0.67701416, 0.60350259],
[0.97339411, 0.61043367, 0.80865786, 0.99974704],
[0.98131057, 0.60084852, 0.98804826, 0.8360389 ]])

[131]: array12[1].mean()

[131]: 0.453914421201764

[132]: array12.mean(axis=0)

[132]: array([0.52417546, 0.60923364, 0.48110862, 0.47875195])

[143]: array12.mean(axis=1)

[143]: array([0.556218 , 0.45391442, 0.69340231, 0.44920053, 0.46385185])

[144]: array12.sum(axis=0)

[144]: array([2.6208773 , 3.04616822, 2.40554311, 2.39375976])

[145]: array12.sum(axis=1)

[145]: array([2.22487198, 1.81565768, 2.77360924, 1.79680211, 1.85540738])

[135]: array2d

[135]: array([[ 1, 2, 3],


[ 4, 8, 10],
[ 7, 8, 9]])

[134]: array2d.cumsum(axis=0)

[134]: array([[ 1, 2, 3],


[ 5, 10, 13],
[12, 18, 22]])

[136]: array2d.cumsum(axis=1)

10
[136]: array([[ 1, 3, 6],
[ 4, 12, 22],
[ 7, 15, 24]])

[137]: array2d.cumprod(axis=0)

[137]: array([[ 1, 2, 3],


[ 4, 16, 30],
[ 28, 128, 270]])

[138]: array2d.cumprod(axis=1)

[138]: array([[ 1, 2, 6],


[ 4, 32, 320],
[ 7, 56, 504]])

[139]: array13=np.random.rand(20)

[146]: amostra = np.random.normal(size=(4,4))

[147]: amostra

[147]: array([[-0.3881357 , 1.62582276, 0.3253107 , -2.79309071],


[ 0.93097798, 1.33529521, 0.48613627, 0.39197307],
[-0.05407732, 1.08704007, 0.12414911, 0.21117586],
[ 0.63284944, -0.06818346, 0.42751306, -1.36806023]])

[148]: N=1000000

[149]: from random import normalvariate

[150]: %timeit amostras = [normalvariate(0,1) for _ in range(N)]

900 ms ± 58.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

[151]: %timeit np.random.normal(size=N)

46.4 ms ± 2.91 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

[152]: 900/46.4

[152]: 19.396551724137932

[140]: array13.reshape((4,5))

[140]: array([[0.1741575 , 0.55301828, 0.68429451, 0.9496321 , 0.20706601],


[0.43335485, 0.93035117, 0.1105577 , 0.41003573, 0.27312968],
[0.16868366, 0.08137954, 0.83824851, 0.61251463, 0.24733318],
[0.26762405, 0.40794515, 0.93122144, 0.42537201, 0.40942902]])

11
[ ]:

12

You might also like