运算库之numpy(数组的切片操作和数组shape的转换)
1.数组的切片操作,主要是用来抓取数组中的一些数据,或者对其进行修改
1. 一维数组
和python_list的操作方式相同
2. 二维数组
查看下方是实例
3. 多维数组(这里我们使用三维数组进行操作显示)
查看下方是实例
通过以上我们可以总结出来,虽然当维数较多的时候,看起来挺吓人,但是在每一个维度上,都可以通过该维度的切片一一处理出来
2.数组的shape转换
1. array.shape(shape=)
shape:就是想转换成的shape,这里需要注意的是,这是按照顺序转化的
return:输出一个转化为shape的array。不会对原来的array进行转化
2. array.size(shape=)
shape:就是想转换成的shape,这里需要注意的是,这是按照顺序转化的
return:没有输出,直接对array进行转化
3. array.T
这里直接是对array进行了转置,即行变成列,列变成行。
注意:只能对二维数组进行处理,因此又叫做矩阵的转置。
return:返回一个转置后的数组,并不会对原始数组进行改变
二维数组的切片操作
代码:
import numpy as np# 数据获取
np.random.seed(50)
data = np.random.normal(loc=0, scale=2, size=8*10).reshape((8, 10))
print('data\n', data)# 这里我们取出第5行的前3列
print(data[4, :3])# 这里我们修改取出的数据为100(这里就利用了numpy的广播效应)
data[4, :3] = 100
print('修改后的data\n',data)
输出:
data[[-3.12070422 -0.06195521 -1.24185685 -2.92916097 2.82389224 -0.95346429-1.56093843 2.14053547 -2.56458519 -2.6549578 ][ 0.25267528 1.72438743 1.39347393 -0.66913037 -1.99505213 3.197816596.62815069 1.97554092 0.24773251 1.48557079][-0.7879117 0.29623164 -0.82446891 -0.32143012 0.27906295 0.57093874-0.56252399 3.42181463 -0.29953328 1.38061344][ 2.19041902 2.67681741 -2.73796334 0.97285526 1.50704336 0.72692919-0.62942096 2.74656234 -1.24883433 0.75150799][-0.40083263 1.48607612 1.71472391 -3.01237857 -3.33270434 -0.43798961-0.71771686 0.75705539 1.36843073 -2.33571213][-1.58643324 -0.07767079 5.41050999 -2.98277701 0.19195586 1.049373421.631331 0.10301161 -0.32911072 0.55639883][ 0.1742294 0.06853674 1.49313783 -1.88727517 -0.49155333 2.216241920.07801578 -0.42653337 -1.78190923 -0.54129268][ 0.44448744 0.50362719 1.41585217 0.98797966 2.94200334 -1.165238944.13163899 2.17566777 1.61037808 -3.17576968]] [-0.40083263 1.48607612 1.71472391] [[-3.12070422e+00 -6.19552069e-02 -1.24185685e+00 -2.92916097e+002.82389224e+00 -9.53464287e-01 -1.56093843e+00 2.14053547e+00-2.56458519e+00 -2.65495780e+00][ 2.52675279e-01 1.72438743e+00 1.39347393e+00 -6.69130370e-01-1.99505213e+00 3.19781659e+00 6.62815069e+00 1.97554092e+002.47732515e-01 1.48557079e+00][-7.87911701e-01 2.96231636e-01 -8.24468906e-01 -3.21430122e-012.79062950e-01 5.70938737e-01 -5.62523985e-01 3.42181463e+00-2.99533278e-01 1.38061344e+00][ 2.19041902e+00 2.67681741e+00 -2.73796334e+00 9.72855255e-011.50704336e+00 7.26929187e-01 -6.29420962e-01 2.74656234e+00-1.24883433e+00 7.51507995e-01][ 1.00000000e+02 1.00000000e+02 1.00000000e+02 -3.01237857e+00-3.33270434e+00 -4.37989605e-01 -7.17716858e-01 7.57055387e-011.36843073e+00 -2.33571213e+00][-1.58643324e+00 -7.76707925e-02 5.41050999e+00 -2.98277701e+001.91955864e-01 1.04937342e+00 1.63133100e+00 1.03011608e-01-3.29110719e-01 5.56398833e-01][ 1.74229404e-01 6.85367384e-02 1.49313783e+00 -1.88727517e+00-4.91553333e-01 2.21624192e+00 7.80157810e-02 -4.26533373e-01-1.78190923e+00 -5.41292676e-01][ 4.44487437e-01 5.03627194e-01 1.41585217e+00 9.87979663e-012.94200334e+00 -1.16523894e+00 4.13163899e+00 2.17566777e+001.61037808e+00 -3.17576968e+00]]
三维数组的切片操作
代码:
import numpy as np# 数据获取
np.random.seed(50)
data = np.random.normal(loc=0, scale=2, size=9*10).reshape((3, 3, 10))
print('data\n', data)# 这里我们取出一维的第2行的前五列
print(data[0, 1, :5])# 这里我们修改取出的数据为100(这里就利用了numpy的广播效应)
data[0, 1, :5] = 100
print('修改后的data\n',data)
输出:
data[[[-3.12070422 -0.06195521 -1.24185685 -2.92916097 2.82389224-0.95346429 -1.56093843 2.14053547 -2.56458519 -2.6549578 ][ 0.25267528 1.72438743 1.39347393 -0.66913037 -1.995052133.19781659 6.62815069 1.97554092 0.24773251 1.48557079][-0.7879117 0.29623164 -0.82446891 -0.32143012 0.279062950.57093874 -0.56252399 3.42181463 -0.29953328 1.38061344]][[ 2.19041902 2.67681741 -2.73796334 0.97285526 1.507043360.72692919 -0.62942096 2.74656234 -1.24883433 0.75150799][-0.40083263 1.48607612 1.71472391 -3.01237857 -3.33270434-0.43798961 -0.71771686 0.75705539 1.36843073 -2.33571213][-1.58643324 -0.07767079 5.41050999 -2.98277701 0.191955861.04937342 1.631331 0.10301161 -0.32911072 0.55639883]][[ 0.1742294 0.06853674 1.49313783 -1.88727517 -0.491553332.21624192 0.07801578 -0.42653337 -1.78190923 -0.54129268][ 0.44448744 0.50362719 1.41585217 0.98797966 2.94200334-1.16523894 4.13163899 2.17566777 1.61037808 -3.17576968][ 2.461771 -4.74690676 -0.06222194 -7.61978076 -0.398099380.70086148 -0.10510157 -1.26856217 -0.72586221 -5.14183952]]] [ 0.25267528 1.72438743 1.39347393 -0.66913037 -1.99505213] 修改后的data[[[-3.12070422e+00 -6.19552069e-02 -1.24185685e+00 -2.92916097e+002.82389224e+00 -9.53464287e-01 -1.56093843e+00 2.14053547e+00-2.56458519e+00 -2.65495780e+00][ 1.00000000e+02 1.00000000e+02 1.00000000e+02 1.00000000e+021.00000000e+02 3.19781659e+00 6.62815069e+00 1.97554092e+002.47732515e-01 1.48557079e+00][-7.87911701e-01 2.96231636e-01 -8.24468906e-01 -3.21430122e-012.79062950e-01 5.70938737e-01 -5.62523985e-01 3.42181463e+00-2.99533278e-01 1.38061344e+00]][[ 2.19041902e+00 2.67681741e+00 -2.73796334e+00 9.72855255e-011.50704336e+00 7.26929187e-01 -6.29420962e-01 2.74656234e+00-1.24883433e+00 7.51507995e-01][-4.00832630e-01 1.48607612e+00 1.71472391e+00 -3.01237857e+00-3.33270434e+00 -4.37989605e-01 -7.17716858e-01 7.57055387e-011.36843073e+00 -2.33571213e+00][-1.58643324e+00 -7.76707925e-02 5.41050999e+00 -2.98277701e+001.91955864e-01 1.04937342e+00 1.63133100e+00 1.03011608e-01-3.29110719e-01 5.56398833e-01]][[ 1.74229404e-01 6.85367384e-02 1.49313783e+00 -1.88727517e+00-4.91553333e-01 2.21624192e+00 7.80157810e-02 -4.26533373e-01-1.78190923e+00 -5.41292676e-01][ 4.44487437e-01 5.03627194e-01 1.41585217e+00 9.87979663e-012.94200334e+00 -1.16523894e+00 4.13163899e+00 2.17566777e+001.61037808e+00 -3.17576968e+00][ 2.46177100e+00 -4.74690676e+00 -6.22219402e-02 -7.61978076e+00-3.98099383e-01 7.00861484e-01 -1.05101570e-01 -1.26856217e+00-7.25862211e-01 -5.14183952e+00]]]
数组的shape转换
代码:
import numpy as npnp.random.seed(22)
data = np.random.normal(loc=0, scale=2, size=90).reshape(9, 10)
print('data:\n', data)# reshape转换
data.reshape((10, 9))
print('data:\n', data)# resize转换
data.resize((10, 9))
print('data:\n', data)# T转置
data.resize((10, 9))
data = data.T
print('data:\n', data)
输出:
data:[[-0.18389984 -2.92670131 2.16358336 -0.47865034 -0.98225827 -2.004544021.83764301 -2.2072642 1.25298691 -1.12302756][ 0.05771024 -0.46153438 1.17550443 1.50463516 -2.11700511 2.111944831.49550053 2.12935318 3.04025918 -2.97720587][ 3.71997978 -3.19722605 -1.29214723 0.67465 2.09345745 1.258286680.72611819 1.11149939 -2.17709906 0.04738954][ 4.99835328 -4.98006079 -0.46972477 -0.19512692 -1.77305868 -0.273426480.20395785 -0.50185907 -0.15762461 -2.17032833][ 1.1898569 -1.27781614 -2.21567372 4.21229151 -1.13477554 -0.95989959-3.84645971 0.79917708 -2.09636774 -1.38775741][ 1.49067829 1.07381999 -1.46544355 1.11143126 0.8645786 -0.27160796-1.88221218 0.96953473 -3.06564291 0.80995778][ 0.02565225 -2.46343112 -2.10617005 5.03244365 -4.07805701 0.18897462-0.62964667 0.98062943 0.70995238 1.90142269][ 1.5207436 0.02300725 -2.75211392 -0.54310937 1.0845041 1.071044422.31999608 -0.3300101 -2.35880513 -1.0905979 ][ 0.54100534 1.96047512 2.0137768 1.56431251 -2.49718332 -0.847666891.10521631 0.65920685 1.72623658 -2.45475605]] data:[[-0.18389984 -2.92670131 2.16358336 -0.47865034 -0.98225827 -2.004544021.83764301 -2.2072642 1.25298691 -1.12302756][ 0.05771024 -0.46153438 1.17550443 1.50463516 -2.11700511 2.111944831.49550053 2.12935318 3.04025918 -2.97720587][ 3.71997978 -3.19722605 -1.29214723 0.67465 2.09345745 1.258286680.72611819 1.11149939 -2.17709906 0.04738954][ 4.99835328 -4.98006079 -0.46972477 -0.19512692 -1.77305868 -0.273426480.20395785 -0.50185907 -0.15762461 -2.17032833][ 1.1898569 -1.27781614 -2.21567372 4.21229151 -1.13477554 -0.95989959-3.84645971 0.79917708 -2.09636774 -1.38775741][ 1.49067829 1.07381999 -1.46544355 1.11143126 0.8645786 -0.27160796-1.88221218 0.96953473 -3.06564291 0.80995778][ 0.02565225 -2.46343112 -2.10617005 5.03244365 -4.07805701 0.18897462-0.62964667 0.98062943 0.70995238 1.90142269][ 1.5207436 0.02300725 -2.75211392 -0.54310937 1.0845041 1.071044422.31999608 -0.3300101 -2.35880513 -1.0905979 ][ 0.54100534 1.96047512 2.0137768 1.56431251 -2.49718332 -0.847666891.10521631 0.65920685 1.72623658 -2.45475605]] data:[[-0.18389984 -2.92670131 2.16358336 -0.47865034 -0.98225827 -2.004544021.83764301 -2.2072642 1.25298691][-1.12302756 0.05771024 -0.46153438 1.17550443 1.50463516 -2.117005112.11194483 1.49550053 2.12935318][ 3.04025918 -2.97720587 3.71997978 -3.19722605 -1.29214723 0.674652.09345745 1.25828668 0.72611819][ 1.11149939 -2.17709906 0.04738954 4.99835328 -4.98006079 -0.46972477-0.19512692 -1.77305868 -0.27342648][ 0.20395785 -0.50185907 -0.15762461 -2.17032833 1.1898569 -1.27781614-2.21567372 4.21229151 -1.13477554][-0.95989959 -3.84645971 0.79917708 -2.09636774 -1.38775741 1.490678291.07381999 -1.46544355 1.11143126][ 0.8645786 -0.27160796 -1.88221218 0.96953473 -3.06564291 0.809957780.02565225 -2.46343112 -2.10617005][ 5.03244365 -4.07805701 0.18897462 -0.62964667 0.98062943 0.709952381.90142269 1.5207436 0.02300725][-2.75211392 -0.54310937 1.0845041 1.07104442 2.31999608 -0.3300101-2.35880513 -1.0905979 0.54100534][ 1.96047512 2.0137768 1.56431251 -2.49718332 -0.84766689 1.105216310.65920685 1.72623658 -2.45475605]] data:[[-0.18389984 -1.12302756 3.04025918 1.11149939 0.20395785 -0.959899590.8645786 5.03244365 -2.75211392 1.96047512][-2.92670131 0.05771024 -2.97720587 -2.17709906 -0.50185907 -3.84645971-0.27160796 -4.07805701 -0.54310937 2.0137768 ][ 2.16358336 -0.46153438 3.71997978 0.04738954 -0.15762461 0.79917708-1.88221218 0.18897462 1.0845041 1.56431251][-0.47865034 1.17550443 -3.19722605 4.99835328 -2.17032833 -2.096367740.96953473 -0.62964667 1.07104442 -2.49718332][-0.98225827 1.50463516 -1.29214723 -4.98006079 1.1898569 -1.38775741-3.06564291 0.98062943 2.31999608 -0.84766689][-2.00454402 -2.11700511 0.67465 -0.46972477 -1.27781614 1.490678290.80995778 0.70995238 -0.3300101 1.10521631][ 1.83764301 2.11194483 2.09345745 -0.19512692 -2.21567372 1.073819990.02565225 1.90142269 -2.35880513 0.65920685][-2.2072642 1.49550053 1.25828668 -1.77305868 4.21229151 -1.46544355-2.46343112 1.5207436 -1.0905979 1.72623658][ 1.25298691 2.12935318 0.72611819 -0.27342648 -1.13477554 1.11143126-2.10617005 0.02300725 0.54100534 -2.45475605]]
学习地址:
黑马程序员Python教程,4天快速入门Python数据挖掘,系统精讲+实战案例_哔哩哔哩_bilibili
运算库之numpy(数组的切片操作和数组shape的转换)相关推荐
- Go进阶(5): 数组与切片+多维数组+map切片
1. 数组array 数组可以存放多个同一类型数据,数组也是一种数据类型,在Go中,数组是值类型.与C++一致 长度是的固定的,不能够动态变化 var arr [] int 相当于slice切片 va ...
- 如何统计php数组值的和,php数组键值操作和数组统计函数-函数
1.数组函数//作用:提供了很多官方写的很多有用的代码段,提高编写速度 1)数组的键值操作函数 array_values();//获取数组中的值 array_keys();//获取数组中的键 in_a ...
- python数组的切片操作_对Python 数组的切片操作
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- java数组元素替换操作_js数组操作(添加、删除、替换元素)
1.添加元素 函数:push(para),参数说明para要添加的元素 示例: var lang = ["php","java","javascrip ...
- Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】
目录 切片(slicing)操作 索引(indexing) 操作 最简单的情况 获取多个元素 切片和索引的同异 切片(slicing)操作 Numpy 中多维数组的切片操作与 Python 中 lis ...
- 【Python】Numpy数组的切片、索引详解:取数组的特定行列
[Python]Numpy数组的切片.索引详解:取数组的特定行列 文章目录 [Python]Numpy数组的切片.索引详解:取数组的特定行列 1. 介绍 2. 切片索引 2.1 切片索引先验知识 2. ...
- 数据分析:numpy和pandas基础操作详解
数据处理基础 numpy基础 1.numpy创建数组及基础属性 2.数组的特点 3.创建常见数组 4.数组数据类型 5.生成随机数 6.一维数组索引 7.布尔索引 8. 多维数组的索引 9.实际问题 ...
- python【Numpy科学计算库】Numpy的超实用基础详细教程(看不懂你来打我)
文章目录 Numpy简单介绍 1.Numpy是什么 2. 多维数组 numpy数据类型设定与转换 numpy索引与切片 多维数组索引.切片 数组文件输入输出 使用numpy.arange方法 使用nu ...
- Go 学习笔记(11)— 切片定义、切片初始化、数组和切片差异、字符串和切片转换、len()、cap()、空 nil 切片、append()、copy() 函数、删除切片元素
1. 切片定义 Go 语言切片是对数组的抽象. Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容 ...
最新文章
- Miller方法产生、检验素数
- 人群密度估计--CrowdNet: A Deep Convolutional Network for Dense Crowd Counting
- 但是如果你按照官网的说明进行输入:比如 [{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}]就会报错,经过实践,多分类希望给各个label不
- Git设置忽略文件/文件夹
- 主数据管理(MDM)的七个最佳实践
- 使用TortoiseGit,设置ssh方式连接git仓库
- php支持cs吗,关于composer、phpmd和phpcs于windows中的安装与使用方法
- moore 数据集_警报数据集(alarm dataset)_机器学习_科研数据集
- IntelliJ IDEA for Mac中的Maven操作窗口详解
- python数据挖掘学习笔记】十四.Scipy调用curve_fit实现曲线拟合
- java语言实现常用算法(排序和查找)
- 2021级C语言大作业 - 一笔画
- 小故事:在缺陷中发现长处
- android imageview 图片模糊,imageview实现高斯模糊
- 共享计算机桌面,DeskTopShare桌面屏幕共享软件
- 图像处理中的数学原理详解
- 解决spring-data-jpa 级联添加时,主表放弃对外键维护时外键字段为null
- 帝国cms 自动生成html,帝国cms二次开发用户访问自动生成html
- 软件安全开发 - 流程规范
- 计算机怎么转到超级用户,电脑系统管理员权限怎么设置为超级管理员权限
热门文章
- linux切割日志方法,Linux下nginx生成日志自动切割的实现方法
- 16bit的pcm双声道转单声道
- Polychain重仓的Findora公链,想带领DeFi脱虚向实
- C语言模拟鼠标连点器
- 手把手教你如何绘制一辆,“单身自行车”,哈哈哈!
- 视频特效-使用ffmpeg滤镜
- 01、java02-运算符 流程控制 方法
- 如何使用可编程无线SIM和Arduino MKR GSM 1400播放MP3文件
- 具体分析contrex-A9的汇编代码__switch_to(进程切换)
- 深度学习(PyTorch)——Transforms的使用方法与技巧