python基础---有关nparray----切片和索引(一)
Numpy最重要的一个特点就是其N维数组对象,即ndarray,该对象是一种快速而灵活的大数据集容器,实际开发中,我们可以利用这种数组对整块数据执行一些数学运算。
有关ndarray,我们就从最简单的一维数组操作以及其构造开始说起:
import numpy as np if __name__ == '__main__':
print()
#输出一个字典对象i+rand
print({i :np.random.rand() for i in range()})
#输出字典对象i+list(rand)
print({i: np.random.rand() for i in range()}) #在变量前面加一个?问号,可以将有关该对象的一些通用信息显示出来
a=[] for i in range():
#这里b就是一个有3个随机小数的数组
b = np.random.rand()
print(b.shape)
print(b)
a.append(b)
print(a) #从管道中输出a
# print(a.pop(0))
# print(a)
#通过array这个方法将a数组转成nparray
c=np.array(a)
print("c============",c) #这里随机获取一个二维数组
d=np.empty((,))
print(d) #np的基本索引和切片
#先生成一个从0到10的一维数组[0 1 2 3 4 5 6 7 8 9]
arr=np.arange() #针对这个np我们可以简单切片,比如我要获取5,6,7可以通过这个方法:arr[开始的index,结束的index],这里的index从0开始,
#左包含右不包含
arr1=arr[:]
print(arr1) #对一个切片进行赋值时,该值会传播整个选取:比如arr[5:8]=12的输出值就是[ 0 1 2 3 4 12 12 12 8 9]
arr[:]=12
print(arr) #如果操作需要,我们可以针对切片中再一次进行切片赋值
arr_slice=arr[:] #[4,12,12,12]
print(arr_slice[]) #4
print(arr_slice[]) # 12
arr_slice[:]=89
print(arr_slice) #[89 89 12 12]
print(arr) #[ 0 1 2 3 89 89 12 12 8 9]
#如果你想要得到的是ndarray切片的一份副本而不是视图,就需要进行复制操作,比如
arrCopy=arr.copy()
print(arrCopy)
当然,针对多元的数据更加需要多元的数组,比如二维数组,这里针对二维数组切片和索引进行简单的讲解:
#如果是多维数组,比如一个二维数组,我们操作可以如下,先生成一个2维数组:[[0 1 2][3 4 5][6 7 8]]
x=[]
for i in range(): x1=np.arange(*i,*i+)
x.append(x1) arr2d=np.array(x)
print(arr2d) #我们可以看看这个二维数组如何切片,有关切片索引
print(arr2d[]) # [3 4 5]
# 二维数组切片索引和一维稍微不同,以下两个两两等价
print(arr2d[:]) # [[0 1 2][3 4 5]]
print(arr2d[:]) # [[0 1 2][3 4 5]]
print(arr2d[][]) # 6
print(arr2d[,:]) #[6]
print(arr2d[,:]) #[6 7]
#更多维数组操作也类似上面一样,举一反三
更多维度的数组操作也类似上面,我们可以举一反三,除了这一部分之外,还有布尔索引和花式索引
花式索引:花式索引是一个numpy术语,它指利用整数数组进行索引,例如,我们使用一个8*4的数组
#有关花式索引
#花式索引是一个numpy术语,它指利用整数数组进行索引,例如,我们使用一个8*4的数组
# arr=np.empty((8,4))
arr=np.arange().reshape((,))
print(arr) #以特定顺序选取子集,这里选取的就是第5,4,1,7行的子数组
print(arr[[,,,]]) #如果我们使用负数索引,则选取的从末尾开始-1为最后一行,-2为倒数第二行
print(arr[[-,-]]) #这里输出的分别是arr第5行的第一个数,第4行的第2个数,第1行的第3个数和第7行的第4个数组成的数组
print(arr[[,,,],[,,,]]) #这里输出分别为arr第5,4,1,7行的第1,2,3个数组成的数组
#[[16 17 18] [12 13 14] [ 0 1 2] [24 25 26]]
print(arr[[,,,]][:,[,,]])
python基础---有关nparray----切片和索引(一)的更多相关文章
- python 基础之列表切片内置方法
列表操作 c=['cx','zrd','ajt','dne'] #定义一个列表,有4个元素 #增删改查 print(c[3]) #从0计数 测试 D:\python\python.exe D:/unt ...
- python基础练习 dict切片
利用切片操作,实现一个trim()函数,去除字符串首尾的空格 def trim(s): if s[:1] != ' ' and s[-1:] != ' ': return s elif s[:1] = ...
- Python基础(slice切片)
l = ['傻狗1','傻狗2','傻狗3','傻狗4','傻狗5','傻狗6'] print(l[0:3])#['傻狗1', '傻狗2', '傻狗3'] numbers = list(range(1 ...
- python基础——切片
python基础——切片 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', ...
- python基础学习笔记-切片难点
numbers = [1,2,3,4,5,6,7,8,9,10] print(numbers[5::-2]) print(numbers[10:5:-2]) print(numbers[:5:-2]) ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- python基础之循环结构以及列表
python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...
- Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程
[保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...
随机推荐
- js中全局变量的一点小知识点
js中有三种方式定义全局变量: 在任何函数外面直接执行var语句,例如:var f="value"; 直接添加一个属性到全局变量上,在web浏览器中,全局对象名为window.例如 ...
- js中关于事件捕获与事件冒泡的小实验
1.事件冒泡:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div - ...
- win764位安装mysql-5.6
1配置mysql的MYSQL_HOME和PATH 增加环境变量: MYSQL_HOME=D:\mysql-5.6.14-winx64 修改环境变脸: 在path后面增加%MYSQL_HOME%\bin ...
- openstack介绍(二)
OpenStack services 本节将详细描述OpenStack服务. Compute service overview(计算服务概述) 使用OpenStack云计算计算主机和管理系统.Open ...
- day4 DOM,BOM
1. BOM编程 1.1. BOM编程基础 全称 Browser Object Model,浏览器对象模型. JavaScript是由浏览器中内置的javascript脚本解释器程序来执行ja ...
- Git的使用 强制放弃本地所有修改,获取master中最新版本更新本地
git fetch --all git reset --hard origin/master git fetch --all 的意思是,下载远程库的所有内容,但不与本地做任何合并 git reset ...
- (I/O完成端口中的)995错误
在windows下,可能会出现995的错误,msdn对该错误的解释为: The I/O operation has been aborted because of either a thread ex ...
- PowerDesigner设计表时显示注释列Comment,Columns中没有Comment的解决办法
我使用的PowerDesigner版本为16.5,如下图: 在所要编辑的表上双击,打开Table Properties窗口,并将上面的选项卡切换到Columns,如下图: 我们点击Customize ...
- 基于unity3d游戏的android版本逆向初探
https://bbs.pediy.com/thread-212532.htm [文章标题]: 基于unity3d游戏的android版本逆向初探 [文章作者]: dreaman [作者邮箱]: [e ...
- Noip2016day1 天天爱跑步running
题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 个结点 ...