Python--第三方库Numpy(Jupyter)

本文介绍了如何安装和导入NumPy库,比较了其与列表的效率优势,讲解了Numpy的各种生成数组方法,如array(),linspace(),zeros(),ones()等,以及其有用的属性和方法,如随机数生成、形状操作、索引查找和数据类型检查等,重点突出了多维数组和广播功能。
摘要由CSDN通过智能技术生成

目录

一、安装以及导入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.在指定范围内随机输出指定个数的数

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

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

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

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

结果显示:

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

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

结果显示: 

 4.返回数组的形状

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

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

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

arr.dtype

结果显示:

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

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

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

结果显示:

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

#给一个范围,输出范围值
arr[1:5]
#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]

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑大帅不黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值