文章插图
一起学习,一起成长!
Numpy数组的索引是一个内容丰富的主题,因为选取数据子集或单个元素的方式有很多 。
- 一维数组
In[14]:arr
Out[14]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In[15]:arr[5]
Out[15]: 5
【python包Numpy基础:索引和切片】In[16]:arr[5:8]
Out[16]: array([5, 6, 7])
In[17]:arr[5:8]=12
In[18]:arr
Out[18]: array([ 0, 1, 2, 3, 4, 12, 12, 12, 8, 9])
如上所示,当你将一个标量值赋值给一个切片时(如arr[5:8]=12),该值会自动传播到整个选取 。跟列表最重要的区别在于,数组切片是原始数据的视图 。这意味着数据不会被复制,视图上的任何修改都会直接反映到源数组上:
In[19]:arr_slice=arr[5:8]
In[20]:arr_slice[1]=12345
Out[21]:arr
Out[21]: array([0,1,2,3,4,12, 12345,12, 8,9])
In[22]:arr_slice[:]=64
In[22]:arr
Out[23]: array([ 0,1,2,3,4, 64, 64, 64,8,9])
由于Numpy的设计目的是处理大数据,假如Numpy坚持要将数据复制来复制去的话会产生何等的性能和内存问题 。
警告:如果你想要得到的是ndarray切片的一份副本而非视图,就需要显示地进行复制操作,例如arr[5:8].copy() 。
- 高维度数组
In[24]: arr2d=np.array([[1,2,3],[4,5,6],[7,8,9]])
In[25]: arr2d[2]
#注意返回的值,是数组不是具体的标量
Out[25]: array([7, 8, 9])
「亲,如果笔记对您有帮助,收藏的同时,记得给点个赞、加个关注哦!感谢!」
「文中代码均亲测过,若有错误之处,欢迎批评指正,一起学习,一起成长!」
利用Python进行数据分析
推荐阅读
- 为什么是Numpy?
- python中的文件夹操作
- 姚姐,现场给力演示安化黑茶打包方法
- Python 带你采集抖音无水印视频内容,把你喜欢的视频保存
- 利用python微信库itchat实现微信自动回复功能
- 包装行业纷纷喊涨 企业进退维谷
- 华为进军时尚界,699元的风范双肩包到底值不值?
- 北京风景年票都包括哪些公园2022,北京风景年票是不是绑定才能用
- 茶企营销新思路,创新外包装+推混搭礼盒
- Python类中的self到底是干啥的