Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]


Posted in Python onFebruary 13, 2020

Python中对于数组和列表进行切片操作是很频繁的,当然对于切片的操作可供我们直接使用的函数也是很遍历了,我们今天主要简单总结一下常用集中索引化方式,希望对大家有所帮助吧。

对于列表的切片比较简单,在我之前的博客里面有详细的讲解,需要的话可以去看看,这里就不再详细说了,今天主要是讲解对于Python中Array对象的操作,我们平时使用比较频繁的一般也就是三维的矩阵了,再高维度的处理方式是相同的,这里我们只讲解三维和二维的使用。

对于X[:,0];

是取二维数组中第一维的所有数据

对于X[:,1]

是取二维数组中第二维的所有数据

对于X[:,m:n]

是取二维数组中第m维到第n-1维的所有数据

对于X[:,:,0]

是取三维矩阵中第一维的所有数据

对于X[:,:,1]

是取三维矩阵中第二维的所有数据

对于X[:,:,m:n]

是取三维矩阵中第m维到第n-1维的所有数据

这样的讲解可能还是有点抽象,下面我们用具体的实例来讲解,相信会更加容易理解,具体如下:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division
 
'''
__Author__:沂水寒城
学习Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
'''
 
import numpy as np
 
def simple_test():
  '''
  简单的小实验
  '''
  data_list=[[1,2,3],[1,2,1],[3,4,5],[4,5,6],[5,6,7],[6,7,8],[6,7,9],[0,4,7],[4,6,0],[2,9,1],[5,8,7],[9,7,8],[3,7,9]]
  # data_list.toarray()
  data_list=np.array(data_list)
  print 'X[:,0]结果输出为:'
  print data_list[:,0] 
  print 'X[:,1]结果输出为:'
  print data_list[:,1]
  print 'X[:,m:n]结果输出为:'
  print data_list[:,0:1]
  data_list=[[[1,2],[1,0],[3,4],[7,9],[4,0]],[[1,4],[1,5],[3,6],[8,9],[5,0]],[[8,2],[1,8],[3,5],[7,3],[4,6]],
        [[1,1],[1,2],[3,5],[7,6],[7,8]],[[9,2],[1,3],[3,5],[7,67],[4,4]],[[8,2],[1,9],[3,43],[7,3],[43,0]],
        [[1,22],[1,2],[3,42],[7,29],[4,20]],[[1,5],[1,20],[3,24],[17,9],[4,10]],[[11,2],[1,110],[3,14],[7,4],[4,2]]]
  data_list=np.array(data_list)
  print 'X[:,:,0]结果输出为:'
  print data_list[:,:,0] 
  print 'X[:,:,1]结果输出为:'
  print data_list[:,:,1]
  print 'X[:,:,m:n]结果输出为:'
  print data_list[:,:,0:1]
 
 
if __name__ == '__main__':
  simple_test()

结果如下:

X[:,0]结果输出为:
[1 1 3 4 5 6 6 0 4 2 5 9 3]
X[:,1]结果输出为:
[2 2 4 5 6 7 7 4 6 9 8 7 7]
X[:,m:n]结果输出为:
[[1]
 [1]
 [3]
 [4]
 [5]
 [6]
 [6]
 [0]
 [4]
 [2]
 [5]
 [9]
 [3]]
X[:,:,0]结果输出为:
[[ 1  1  3  7  4]
 [ 1  1  3  8  5]
 [ 8  1  3  7  4]
 [ 1  1  3  7  7]
 [ 9  1  3  7  4]
 [ 8  1  3  7 43]
 [ 1  1  3  7  4]
 [ 1  1  3 17  4]
 [11  1  3  7  4]]
X[:,:,1]结果输出为:
[[  2   0   4   9   0]
 [  4   5   6   9   0]
 [  2   8   5   3   6]
 [  1   2   5   6   8]
 [  2   3   5  67   4]
 [  2   9  43   3   0]
 [ 22   2  42  29  20]
 [  5  20  24   9  10]
 [  2 110  14   4   2]]
X[:,:,m:n]结果输出为:
[[[ 1]
  [ 1]
  [ 3]
  [ 7]
  [ 4]]
 
 [[ 1]
  [ 1]
  [ 3]
  [ 8]
  [ 5]]
 
 [[ 8]
  [ 1]
  [ 3]
  [ 7]
  [ 4]]
 
 [[ 1]
  [ 1]
  [ 3]
  [ 7]
  [ 7]]
 
 [[ 9]
  [ 1]
  [ 3]
  [ 7]
  [ 4]]
 
 [[ 8]
  [ 1]
  [ 3]
  [ 7]
  [43]]
 
 [[ 1]
  [ 1]
  [ 3]
  [ 7]
  [ 4]]
 
 [[ 1]
  [ 1]
  [ 3]
  [17]
  [ 4]]
 
 [[11]
  [ 1]
  [ 3]
  [ 7]
  [ 4]]]
[Finished in 0.6s]

果然还是很方便,做个记录,欢迎交流!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
py2exe 编译ico图标的代码
Mar 08 Python
Python去除列表中重复元素的方法
Mar 20 Python
Python入门必须知道的11个知识点
Mar 21 Python
python中的协程深入理解
Jun 10 Python
详解基于python-django框架的支付宝支付案例
Sep 23 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
Python enumerate内置库用法解析
Feb 24 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
使用python实现名片管理系统
Jun 18 Python
python中的plt.cm.Paired用法说明
May 31 Python
python pandas 解析(读取、写入)CSV 文件的操作方法
Dec 24 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 #Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 #Python
Python使用docx模块实现刷题功能代码
Feb 13 #Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 #Python
Python3 读取Word文件方式
Feb 13 #Python
解决Python import docx出错DLL load failed的问题
Feb 13 #Python
python求最大公约数和最小公倍数的简单方法
Feb 13 #Python
You might like
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
js实现双色球效果
2020/08/02 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
python 生成目录树及显示文件大小的代码
2009/07/23 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python计算auc的方法
2020/09/09 Python
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
C语言基础笔试题
2013/04/27 面试题
高中生期末评语大全
2014/01/28 职场文书
电子信息工程自荐信
2014/05/26 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python