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/ 感觉文章好,可以小手一抖 -- ...
随机推荐
- HL7 Event Type
Table 0003 - Event type Value Description A01 ADT/ACK - Admit / visit notification A02 ADT/ACK - Tra ...
- 算法导论笔记——第十八章 B树
18.1 B树的定义 18.2 B树的基本操作 与一棵二叉搜索树一样,可以在从树根到叶子这个单程向下过程中将一个新的关键字插入B树中.为了做到这一点,当沿着树向下查找新的关键字所属位置时,就分裂沿途 ...
- Google Analytics添加到网站
把Google Analytics添加到网站的具体方式 https://developers.google.com/analytics/devguides/collection/analyticsjs ...
- .net实现IHttpModule接口顾虑器
这篇文章主要介绍了C#使用IHttpModule接口修改http输出的方法,涉及C#操作IHttpModule接口的相关技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#使用IHtt ...
- HDU5381【莫队算法+区间GCD特性】
前言: 主要最近在刷莫队的题,这题GCD的特性让我对莫队的使用也有了新的想法.给福利:神犇的一套莫队算法题 先撇开题目,光说裸的一个莫队算法,主要的复杂度就是n*sqrt(n)对吧,这里我忽略了一个左 ...
- UIPI VS与Win7 共舞:用户界面特权隔离
http://tech.it168.com/a2009/0924/737/000000737968.shtml [IT168 专稿]在上文中,我们介绍了操作系统服务的Session 0隔离,通过Ses ...
- 洛谷P2875 [USACO07FEB]牛的词汇The Cow Lexicon
P2875 [USACO07FEB]牛的词汇The Cow Lexicon 题目描述 Few know that the cows have their own dictionary with W ( ...
- IT兄弟连 JavaWeb教程 jQuery中其他AJAX支持的函数
● $.get()函数 $.get(url,data,function,dataType);参数说明如下: url:请求地址 data:请求参数 dataType:服务器返回的数据类型 functi ...
- LCS最大公共子序列【转载】
在两个字符串中,有些字符会一样,可以形成的子序列也有可能相等,因此,长度最长的相等子序列便是两者间的最长公共字序列,其长度可以使用动态规划来求. 以s1={1,3,4,5,6,7,7,8},s2={3 ...
- 微信小程序请求openid错误码40163
通过wx.login({})方法获取到的code只能使用一次,如果需要在哎服务器端再次请求获取openid来进行校验,需要再次通过wx.login({})方法获取code 否则会报错误代码40163, ...