四时宝库

程序员的知识宝库

numpy实战(3)(numpy基本操作)

import numpy as np
np.random.seed(0)
?
def compute_reciprocals(values):
 output=np.empty(len(values))
 for i in range(len(values)):
 output[i]=1.0/values[i]
 return output
?
values=np.random.randint(1,10,size=5)
compute_reciprocals(values)

Out[1]:

array([0.16666667, 1. , 0.25 , 0.25 , 0.125 ])

In [2]:

big_array=np.random.randint(1,100,size=1000000)
%timeit compute_reciprocals(big_array)
1.65 s ± 3.44 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

In [3]:

print(compute_reciprocals(values))
print(1.0/values)
[0.16666667 1. 0.25 0.25 0.125 ]
[0.16666667 1. 0.25 0.25 0.125 ]

In [4]:

%timeit(1.0/big_array)
5.3 ms ± 126 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [7]:

np.arange(5)/np.arange(1,6)

Out[7]:

array([0. , 0.5 , 0.66666667, 0.75 , 0.8 ])

In [8]:

x=np.arange(9).reshape(3,3)
2**x

Out[8]:

array([[ 1, 2, 4],
 [ 8, 16, 32],
 [ 64, 128, 256]], dtype=int32)

In [10]:

x=np.arange(4)
x

Out[10]:

array([0, 1, 2, 3])

In [11]:

x+5

Out[11]:

array([5, 6, 7, 8])

In [12]:

x-5

Out[12]:

array([-5, -4, -3, -2])

In [13]:

x*2

Out[13]:

array([0, 2, 4, 6])

In [14]:

x/2

Out[14]:

array([0. , 0.5, 1. , 1.5])

In [15]:

x//2

Out[15]:

array([0, 0, 1, 1], dtype=int32)

In [16]:

-x

Out[16]:

array([ 0, -1, -2, -3])

In [17]:

x**2

Out[17]:

array([0, 1, 4, 9], dtype=int32)

In [18]:

x%2

Out[18]:

array([0, 1, 0, 1], dtype=int32)

In [19]:

-(0.5*x+1)**2

Out[19]:

array([-1. , -2.25, -4. , -6.25])

In [20]:

np.add(x,2)

Out[20]:

array([2, 3, 4, 5])

In [21]:

x=np.array([-2,-1,0,1,2])
abs(x)

Out[21]:

array([2, 1, 0, 1, 2])

In [22]:

np.absolute(x)

Out[22]:

array([2, 1, 0, 1, 2])

In [23]:

np.abs(x)

Out[23]:

array([2, 1, 0, 1, 2])

In [24]:

x=np.array([3-4j,4-3j,2+0j,0+1j])
np.abs(x)

Out[24]:

array([5., 5., 2., 1.])

In [26]:

theta=np.linspace(0,np.pi,3)
theta

Out[26]:

array([0. , 1.57079633, 3.14159265])

In [27]:

np.sin(theta)

Out[27]:

array([0.0000000e+00, 1.0000000e+00, 1.2246468e-16])

In [28]:

np.cos(theta)

Out[28]:

array([ 1.000000e+00, 6.123234e-17, -1.000000e+00])

In [29]:

np.tan(theta)

Out[29]:

array([ 0.00000000e+00, 1.63312394e+16, -1.22464680e-16])

In [30]:

x=[-1,0,1]
np.arcsin(x)

Out[30]:

array([-1.57079633, 0. , 1.57079633])

In [31]:

np.arccos(x)

Out[31]:

array([3.14159265, 1.57079633, 0. ])

In [32]:

np.arctan(x)

Out[32]:

array([-0.78539816, 0. , 0.78539816])

In [33]:

x=[1,2,3]

In [34]:

np.exp(x)

Out[34]:

array([ 2.71828183, 7.3890561 , 20.08553692])

In [35]:

np.exp2(x)

Out[35]:

array([2., 4., 8.])

In [36]:

np.power(3,x)

Out[36]:

array([ 3, 9, 27], dtype=int32)

In [37]:

x=[1,2,4,10]

In [38]:

np.log(x)

Out[38]:

array([0. , 0.69314718, 1.38629436, 2.30258509])

In [39]:

np.log2(x)

Out[39]:

array([0. , 1. , 2. , 3.32192809])

In [40]:

np.log10(x)

Out[40]:

array([0. , 0.30103 , 0.60205999, 1. ])

In [41]:

x=[0,0.001,0.01,0.1]

In [42]:

np.expm1(x)

Out[42]:

array([0. , 0.0010005 , 0.01005017, 0.10517092])

In [43]:

np.log1p(x)

Out[43]:

array([0. , 0.0009995 , 0.00995033, 0.09531018])

In [44]:

from scipy import special
x=[1,5,10]
special.gamma(x)

Out[44]:

array([1.0000e+00, 2.4000e+01, 3.6288e+05])

In [45]:

special.gammaln(x)

Out[45]:

array([ 0. , 3.17805383, 12.80182748])

In [47]:

special.beta(x,2)

Out[47]:

array([0.5 , 0.03333333, 0.00909091])

In [48]:

x=np.array([0,0.3,0.7,1.0])
special.erf(x)

Out[48]:

array([0. , 0.32862676, 0.67780119, 0.84270079])

In [49]:

special.erfc(x)

Out[49]:

array([1. , 0.67137324, 0.32219881, 0.15729921])

In [50]:

special.erfinv(x)

Out[50]:

array([0. , 0.27246271, 0.73286908, inf])

In [52]:

x=np.arange(5)
y=np.empty(5)
np.multiply(x,10,out=y)

Out[52]:

array([ 0., 10., 20., 30., 40.])

In [53]:

y=np.zeros(10)
np.power(2,x,out=y[::2])
y

Out[53]:

array([ 1., 0., 2., 0., 4., 0., 8., 0., 16., 0.])

In [56]:

x=np.arange(1,6)
np.add.reduce(x)

Out[56]:

15

In [57]:

np.multiply.reduce(x)

Out[57]:

120

In [58]:

np.add.accumulate(x)

Out[58]:

array([ 1, 3, 6, 10, 15], dtype=int32)

In [59]:

np.multiply.accumulate(x)

Out[59]:

array([ 1, 2, 6, 24, 120], dtype=int32)

In [60]:

x=np.arange(1,6)
np.multiply.outer(x,x)

Out[60]:

array([[ 1, 2, 3, 4, 5],
 [ 2, 4, 6, 8, 10],
 [ 3, 6, 9, 12, 15],
 [ 4, 8, 12, 16, 20],
 [ 5, 10, 15, 20, 25]])

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接