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 相关文章推荐
比较详细Python正则表达式操作指南(re使用)
Sep 06 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
python3使用smtplib实现发送邮件功能
May 22 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
使用Django和Postgres进行全文搜索的实例代码
Feb 13 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
Mar 09 Python
Jupyter Notebook折叠输出的内容实例
Apr 22 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
Django框架实现在线考试系统的示例代码
Nov 30 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 读取文件头判断文件类型的实现代码
2013/08/05 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
Javascript - HTML的request类
2007/01/09 Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
2013/06/06 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
pandas将numpy数组写入到csv的实例
2018/07/04 Python
python使用Matplotlib画饼图
2018/09/25 Python
Python3爬虫全国地址信息
2019/01/05 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
python实现经纬度采样的示例代码
2020/12/10 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
python drf各类组件的用法和作用
2021/01/12 Python
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
法律工作求职自荐信
2013/10/31 职场文书
复核员上岗演讲稿
2014/01/05 职场文书
财务总经理岗位职责
2014/02/16 职场文书
团代会主持词
2014/04/02 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
公司借款担保书
2015/09/22 职场文书