python数据分析之Numpy数据库第二期数组的索引和切片的知识总结

本文详细介绍了Python Numpy库中数组的索引和切片操作,包括一维和多维数组的切片、视图与复制、布尔值索引以及花式索引。内容覆盖了如何通过切片获取原始数组的视图,如何使用布尔选择器选取特定行,以及如何利用整数列表进行高级索引。
摘要由CSDN通过智能技术生成

数组的索引和切片

2.2.1数据的索引(一组数据的索引类似于python列表)

上一章节知识点通道:ndarray多维数组知识点

import numpy as np
arr = np.arange(10)
arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[3]
3
arr[-1]
9
arr[2]=123
arr
array([  0,   1, 123,   3,   4,   5,   6,   7,   8,   9])

从代码中可以看出,数组的切片返回的是原始数组的视图。简单地说,视图就是原始数组的表现形式,切片操作并不会产生新数据,这就意味着在视图上操作都会使原数组产生变化

arr[3]=88
arr
array([  0,   1, 123,  88,   4,   5,   6,   7,   8,   9])
arr1 = arr[-3:-1] #左闭右开
arr1
array([7, 8])
arr1[:] = 77 #将上面得到的[7,8]改成[77,77]
arr
array([  0,   1, 123,  88,   4,   5,   6,  77,  77,   9])

数据的切片和索引返回都是原始数组的视图,如果需要的并非视图而是要复制数据,则通过copy方法来实现

arr
array([  0,   1, 123,  88,   4,   5,   6,  77,  77,   9])
arr1 = arr[1].copy()
arr1
1
arr1 =34
arr1
34
arr
array([  0,   1, 123,  88,   4,   5,   6,  77,  77,   9])

对于二维数组,可在单个或多个轴向上完成切片,也可以跟整数索引一起混合使用

arr = np.arange(15).reshape(3,5)
arr
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
arr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值