Python数据分析(2)----------Numpy(ndarray)数组的基本操作1

本文介绍了Numpy中ndarray的基本操作,包括索引、切片和变形。一维和多维数组的索引方式,以及高维数组的便捷访问方法被详细讲解。切片操作与列表类似,而变形操作强调了形状变化时元素数量必须保持一致的重要性。下篇将讨论级联、切分和副本。
摘要由CSDN通过智能技术生成

上回谈到 Numpy数组创建与数组属性 感觉怎么样?其实我这一系列数据分析,是我学习python数据分析的一个笔记,也就是说,如果大家想自学数据分析,可以跟着我的博客来一起学习,可能更新有点慢,但是我尽量赶时间,在数据清洗结束后我会整理一个目录,供大家参考

今天我们分享一下ndarray的基本操作

1.索引

索引是类似于列表下标的一个东西,很easy

一维数组与列表完全一致 多维时同理

一维数组

#创建一个arr1数组,根据下标访问元素
arr1 = np.random.randint(0,10,size=10)
arr1[0],arr[-1]

在这里插入图片描述
访问读个元素咋整呢?

#可以使用多个索引,同时获取多个元素组成的子数组
arr1[[1,2]]

这里不上图了,但是要注意,要以列表的方式访问哦

高维数组

# 创建一个高维数组
arr2 = np.random.randint(0,100,size=(3,4))
arr2

在这里插入图片描述
我们可以先想一下,高维数组,想访问一个元素,可不可以跟高维列表一样呢?
当然可以homie!!
但是一般不这样?
别问为啥,帅的人都不这样,直接上代码

# 传统的python访问方式
arr2[0][0]

# numpy访问方式,来表达多维数组在各个轴上的取值位置
arr2[0,0]

# 最后一个数
arr2[-1,-1]

似乎这样访问更便捷了有没有

2.切片

一维与列表完全一致 多维时同理

# 普通切片,左闭右开区间
arr1[2:5]

# 从头切到尾,隔两个一切
arr1[::2]

#从下标2切到下标8,隔3个一切
arr1[2:8:3]

高维数组的切片

# 先用[0]将二维数组变为一维数组,再切,但是尽量别用
arr2[0:1][0][0:2]

# 同时在两个维度上切片,先0:1切,再在结果上0:2切
arr2[0:1,0:2]

# 行切片
arr2[0:2]

# 列切片
arr2[:,0:2]

发现不对劲是吗?

行切片就切就完事了,但是!列切片必须要先把行给搞定,所以,如果想行不动,那就给加个:,要么会报错!哦不,会当成列切片来切哈哈哈

3.变形

想想arr2这个3行4列的数组,能不能变变形状?

# 还记得shape属性吗?
arr2.shape
arr2.reshape(2,6)

在这里插入图片描述
以后我们在数据清洗的时候,或者机器学习的时候会经常用这个操作

什么?你想reshape成(2,5)?
别忘了,形状可以变,内容不能缺啊,25=34吗?

个数在变形前后一定要保持一致

今天就先这样,下一次我们将来分享级联、切分和副本

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值