numpy入门教程1

一、Numpy基本知识

NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库 。下面我们一起来了解numpy的使用叭~

1. 基本操作

(1)ndarray格式的数据可以直接±,表示对里面每个元素执行该操作,而list不可以:
array1 = np.array([1,2,3,4,5])
array1 = array1 + 1
(2)查看ndarray的shape大小,直接调用.shape方法,而list不可以:
array2 = np.array([[1,2,3],
                   [4,5,6]])
array2.shape
(3)查看每个元素占几个字节(ndarray里面每个元素一定是相同类型的。不同也会自动向下转为相同类型):
array2.itemsize
(4)查看ndarray中的元素类型:
array2.dtype
(5)查看ndarray中有多少个元素:
array2.size
(6)查看ndarray的维度数:
array2.ndim
(7)将每个元素都赋值为0:
array4.fill(0)

2. 索引与切片

(1)取ndarray第一个元素(第0个):
array = np.array([1,2,3,4,5])
array[0]
(2)取出第1,2个元素
array[1:3]

区间是左闭右开!!!!

(3)从倒数第二个到最后一个
array[-2:]
(4)对高维ndarray进行修改
array0 = np.array([[1,2,3],
                   [4,5,6],
                   [7,8,9]])
array0[1,1] = 10
array0

可以观察到第一行第一列的元素的值已经被修改👇
在这里插入图片描述

(5)取出第一行全部元素
array0[1]
(6)取出第一列所有元素
array0[:,1]

注:‘ :’表示每一行都保留

(7) 将原ndarray更改后的结果保存于其他ndarray,原变量的元素不变

错误:

array_new = array0
array_new[1,1]=100

正确:

array_newer = array_new.copy()
array_newer[1,1] = 999

由于(4)中赋值修改会使得原array直接被更改,即赋值就代表前后指向相同的内存,修改A同时B也被修改

(8) bool索引
df = np.arange(0,100,10)
mask = np.array([0,0,0,4,1,1,0,0,9,0],dtype=bool)
df[mask]

这里mask是有True和False组成的bool类型的ndarray,以此为例,形式如下👇

array([False, False, False,  True,  True,  True, False, False,  True,
       False])

将其作为df的bool索引,可以进行数据的筛选,帅选结果为30,40,50,80

(9)产生10个0~1的随机数,筛选大于0.5的所有元素
random_array = np.random.rand(10)
bool_array = random_array > 0.5
random_array[bool_array]

其实也是利用了bool索引来对数据进行筛选。也可以👇来获得bool索引位True所对应原ndarray的真实索引

np.where(random_array > 0.5)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天使Di María

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

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

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

打赏作者

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

抵扣说明:

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

余额充值