当前位置:   article > 正文

Python--第三方库Numpy(Jupyter)_python的第三方库numpy

python的第三方库numpy

目录

一、安装以及导入NumPy

二、Numpy使用介绍

一)为什么使用Numpy而不用List?

二)Numpy生成数组(Build-in Methods to create arrays)

np.array()

np.arrange()

np.zeros()

np.ones()

 np.linsapce(start,end,number)

np.eye() 

 np.random.rand()

 np.random.randn()

np.random.randint()

np.random.seed()

三)Numpy有用的属性和方法

1.在指定范围内随机输出指定个数的数

2.返回新形状的数组,但不改变原数组

3.查找最大值、最小值和最大值的索引值以及最小值的索引值

 4.返回数组的形状

5.可以返回数组中对象的数据类型


一、安装以及导入NumPy

  • 在命令提示符(cmd)中安装Numpy&Jupyter,使用下列两行命令(已经有了python环境)

 pip  install -i http://pypi.tuna.tsinghua.edu.cn/simple numpy

 pip  install -i http://pypi.tuna.tsinghua.edu.cn/simple jupyter

  •  安装Anaconda
  • 在Anaconda中导入Jupyter NoteBook
  • 打开Jupyter NoteBook并导入Numpy(线性代数库),如下:
import numpy as np'
运行

二、Numpy使用介绍

一)为什么使用Numpy而不用List?

  1. 效率更高
  2. 可以扩展到N维对象
  3. 计算速度更快
  4. 广播操作和功能
  5. 目前所学习的数据科学和机器学习库都是Numpy构建的

二)Numpy生成数组(Build-in Methods to create arrays)

  • np.array()

直接转换列表来创建数组

  • np.arrange()

返回给定间隔内均匀间隔的值

  • np.zeros()

生成均为0的数组

  • np.ones()

生成均为1的数组

  •  np.linsapce(start,end,number)

指定时间间隔内返回均匀间隔的数字,即起始值为start,结束值为end,有number个数的等差数列

  • np.eye() 

创建单位矩阵

  •  np.random.rand()

创建一个给定形状的数组,并用均匀分布在[0,1)上的随机样本填充它

  •  np.random.randn()

返回一个符合标准正态分布的随机数组,默认均值为0,标准层为1

  • np.random.randint()

返回从“低”(含)到“高”(不含)的随机整数 

  • np.random.seed()

设置随机状态,使得下一次的随机数基于这个随机种子,生成相同的结果 

三)Numpy有用的属性和方法

1.在指定范围内随机输出指定个数的数

  1. np.randnm.randint(0,50,10)
  2. #np.random.randint(start,end,number)
  3. #start是起始值,end是结束值,number是指需要输出的数的个数

 结果呈现:(这是一个随机的数,每一次给出的结果是不一样的)

2.返回新形状的数组,但不改变原数组

  1. np.arange(10,30).reshape(4,5)
  2. # 这里的起到新形状的作用的是reshape,需要注意的是它给出的组合中所包含的元素必须要等于原数组中的元素之和

结果显示:

3.查找最大值、最小值和最大值的索引值以及最小值的索引值

  1. # 已知一个数组
  2. arr([1,2,3,4,7,84,2,5,8,4,5])
  3. # 最大值
  4. arr.max()
  5. # 最小值
  6. arr.min()
  7. # 最大值的索引值
  8. arr.argmax()
  9. # 最小值的索引值
  10. arr.argmin()

结果显示: 

 4.返回数组的形状

  1. arr.shape
  2. # 返回指定数组的列和行(前者为列,后者为行)

结果显示:(arr数组见3,已创)

5.可以返回数组中对象的数据类型

arr.dtype

结果显示:

6.从数组中选择元素或元素组

 方法一:直接获取某一个数组元素

  1. #已给数组arr,直接根据索引得到数组元素
  2. arr[8]

结果显示:

方法二:获取一个数组里的范围值

  1. #给一个范围,输出范围值
  2. arr[1:5]
  3. #arr数组名(自定义)[start:end]start起始索引值,end终止索引值

结果显示:

方法三:可知,NumPy数组具有广播功能,具体如下:

arr[0:5] = 100

结果显示:

方法四:数组元素切片输出(arr数组上述已给,但有所改变,见方法三)

slice_of_arr = arr[0:6]

结果显示:

这里有个需要注意的点:slice_of_arr如果被广播,那么它的改变也会延伸到原数组中(如下)

方法四:这里有一个类似复制的作用,data没有复制,它是原始数组的视图,避免了内存的问题

arr_copy = arr.copy()

结果显示:

7、n维数组(n>=2)

PS.二维数组的两种方式:arr_2d[row][col]或arr_2d[row,col],接下来我们将讨论多维数组,从二维数组开始讨论。

(先生成一个二维数组)

(1)根据索引选取数组元素

arr_2d[1]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/981315
推荐阅读
相关标签
  

闽ICP备14008679号