numpy学习笔记(一)

来源:互联网 发布:263网络会议室 编辑:程序博客网 时间:2024/05/29 11:40

numpy

1.官网链接:http://www.numpy.org/(对于 numpy 有疑问或者想查阅什么资料,官网无疑是最该浏览的地方

2.关键词:开源 数据计算拓展

3.功能:提供了一种新的数据结构ndarray 多位操作 线性代数


下面我们来看一下numpy的一些基本操作:
import numpy as npprint(np.zeros([2, 4]))  # 输出元素都为0的2行4列数组print(np.ones([3, 5]))  # 输出元素都为1 的2行4列数组print("Rand:")print(np.random.rand(2, 4))  # 输出2行4列的随机数组,且都是均匀分布的print(np.random.rand())  # 生成一个随机数print(np.random.randint(1, 14, 5))  # 在1到14之间生成5个随机数print(np.random.randn(2, 4))  # 输出2行4列标准正态分布随机数print(np.random.choice([10, 20, 41]))  # 在列表中的数随机选取一个print(np.random.beta(1, 10, 100))  # 生成一个1-10共100个beta数组
list = (np.arange(1, 11))  # 产生一个1-11(不含11)的等差数列list1 = (np.arange(2, 12)).reshape([2, 5])  # 变成两行五列数组print(np.exp(list))  # list 的自然指数print(np.exp2(list))  # list 的自然指数的平方print(np.sqrt(list))  # list 的开方print(np.square(list))  # list 的平方print(np.sin(list))  # list 的正弦值print(np.log(list1))  # list1 的对数值list = np.array([[[1, 2, 3, 4],                  [4, 5, 6, 7, ]],                 [[7, 8, 9, 10],                  [11, 12, 13, 14]],                 [[15, 16, 17, 18],                  [19, 20, 21, 22]]                 ])# axis取值跟维数有关,维数从 0 开始算起,axis值越大,深入的程度越深print (list.sum(axis=0))# axis表示维度,axis=0,表示最外层的元素相加print (list.sum(axis=1))# 表示最外层减一层的元素相加print (list.sum(axis=2))# 表示最里层的元素相加print(list.max(axis=0))  # 最外层元素中的最大元素值print(list.max(axis=1))  # 最外层减一层元素中的最大元素值print(list.max(axis=2))  # 最里层元素中的最大元素值print (list.min(axis=0)) # 最外层元素中的最小元素值print (list.min(axis=1)) # 最外层减一层元素中的最小元素值print (list.min(axis=2)) # 最里层元素中的最小元素值list1 = np.array([10, 20, 30, 40])list2 = np.array(([4, 3, 2, 1]))print(list1 + list2) # 对两个list中的元素相加,ps:不是将一个数组中的元素放在另一个后面print (list1-list2) # 对两个list中的元素相print (list1**2) # 对两个list中的元素平方print (list1/list2)# 对两个list中的元素相除print (list1.reshape([2, 2]))print (list2.reshape([2, 2]))print (np.dot(list1.reshape([2, 2]), list2.reshape([2, 2]))) # 数组点乘
np.zeros([2, 4]输出元素都为0的2行4列数组:[[ 0.  0.  0.  0.] [ 0.  0.  0.  0.]]np.ones([3, 5]输出元素都为1 的2行4列数组:[[ 1.  1.  1.  1.  1.] [ 1.  1.  1.  1.  1.] [ 1.  1.  1.  1.  1.]]Rand:np.random.rand(2, 4)输出2行4列的随机数组,且都是均匀分布的:[[ 0.77587767  0.77103997  0.90778301  0.51892063] [ 0.28919434  0.78387026  0.87824941  0.63047517]]np.random.rand()生成一个随机数:0.9761937149665485np.random.randint(1, 14, 5)在1到14之间生成5个随机数:[13  1 12  5  9]np.random.randn(2, 4)输出2行4列标准正态分布随机数:[[-1.9461813  -1.41204596 -1.69791839  1.05836531] [ 1.0366834  -0.47319699  1.39453558 -1.00681424]]np.random.choice([10, 20, 41])在列表[10, 20, 41]中的数随机选取一个数生成:41np.random.beta(1, 10, 100)生成一个1-10共100个服从beta分布的数:[ 0.01893169  0.09378453  0.00980863  0.03755689  0.03874727  0.04308561  0.18931891  0.02512865  0.0737496   0.01407145  0.12122635  0.23052885  0.01136259  0.13390367  0.24689462  0.13137176  0.10410025  0.29486107  0.07781979  0.01148843  0.16510218  0.18978288  0.09536065  0.01595713  0.04817984  0.38838073  0.08562434  0.40935577  0.03927237  0.11404332  0.00476136  0.01682795  0.02720028  0.17986878  0.12959653  0.03874944  0.16353797  0.0558343   0.12927779  0.10637992  0.01330019  0.06710282  0.25102084  0.03241731  0.15575527  0.09261522  0.01530058  0.05737841  0.13123543  0.05527313  0.10650663  0.00719421  0.11201587  0.04747632  0.20513904  0.04032565  0.17731409  0.10453166  0.02785961  0.00575343  0.04537981  0.12971829  0.17564739  0.22678339  0.04054191  0.26562597  0.14290121  0.01704701  0.18785117  0.17416304  0.21831007  0.01804399  0.16133944  0.06527488  0.08511596  0.01815286  0.06606561  0.02164469  0.16637705  0.02766457  0.03979009  0.20548877  0.10350403  0.04956911  0.09365246  0.27113528  0.01187826  0.03515503  0.01529069  0.37171978  0.02380073  0.23658283  0.09286363  0.10630025  0.0461041   0.04793209  0.0163735   0.12436785  0.04909792  0.04372187]list:[ 1  2  3  4  5  6  7  8  9 10]list变成两行五列数组list1:[[ 2  3  4  5  6] [ 7  8  9 10 11]]list自然指数为:[  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]list 的自然指数的平方:[    2.     4.     8.    16.    32.    64.   128.   256.   512.  1024.]list 的开方:[ 1.          1.41421356  1.73205081  2.          2.23606798  2.44948974  2.64575131  2.82842712  3.          3.16227766]list 的平方:[  1   4   9  16  25  36  49  64  81 100]list 的正弦值:[ 0.84147098  0.90929743  0.14112001 -0.7568025  -0.95892427 -0.2794155  0.6569866   0.98935825  0.41211849 -0.54402111]list1 的对数值:[[ 0.69314718  1.09861229  1.38629436  1.60943791  1.79175947] [ 1.94591015  2.07944154  2.19722458  2.30258509  2.39789527]]list:[[[ 1  2  3  4]  [ 4  5  6  7]] [[ 7  8  9 10]  [11 12 13 14]] [[15 16 17 18]  [19 20 21 22]]]list.sum(axis=0)表示最外层的元素相加:[[23 26 29 32] [34 37 40 43]]list.sum(axis=1)表示最外层减一层的元素相加:[[ 5  7  9 11] [18 20 22 24] [34 36 38 40]]list.sum(axis=2)表示最里层的元素相加:[[10 22] [34 50] [66 82]]最外层元素中的最大元素值:[[15 16 17 18] [19 20 21 22]]最外层减一层元素中的最大元素值:[[ 4  5  6  7] [11 12 13 14] [19 20 21 22]]最里层元素中的最大元素值:[[ 4  7] [10 14] [18 22]]最外层元素中的最小元素值:[[1 2 3 4] [4 5 6 7]]最外层减一层元素中的最小元素值:[[ 1  2  3  4] [ 7  8  9 10] [15 16 17 18]]最里层元素中的最小元素值:[[ 1  4] [ 7 11] [15 19]]list1:[10 20 30 40]list2:[4 3 2 1]list1 + list2:[14 23 32 41]list1-list2:[ 6 17 28 39]list1**2:[ 100  400  900 1600]list1/list2:[  2.5          6.66666667  15.          40.        ]list1.reshape([2, 2]:[[10 20] [30 40]]list2.reshape([2, 2]:[[4 3] [2 1]]数组点乘:[[ 80  50] [200 130]]将两个数组相连:[10 20 30 40  4  3  2  1]