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

本文详细介绍了Python中如何使用切片操作对二维和三维数组进行索引,包括X[:,0]、X[:,1]等常见索引方式,并通过具体实例展示了这些操作的实际应用。
部署运行你感兴趣的模型镜像

    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]
     果然还是很方便,做个记录,欢迎交流!

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

在科学计算领域,特别是在使用Python的数据分析科学计算库xarray时,DataArray是一种常见的数据结构类型。 DataArray是xarray库的核心数据结构之一,它是一个带有标签的多维数组。它类似于NumPy的ndarray,但提供了更强大的功能,如坐标维度标签、元数据等。 DataArray由数据与之相关的坐标组成。数据可以是一维、二维或多维的,并且可以具有不同的数据类型。坐标用于标识数据的位置,可以是数字、日期、时间等类型。 使用DataArray,你可以执行各种操作,如索引、切片、聚合、计算等。它还提供了一些方便的功能,如数据对齐、标签索引、标签切片等,使得处理多维数据更加灵活方便。 下面是一个使用xarray创建操作DataArray的简单示例: ```python import xarray as xr import numpy as np # 创建一个DataArray对象 data = np.random.rand(3, 4) coords = {'time': [1, 2, 3], 'space': ['A', 'B', 'C', 'D']} da = xr.DataArray(data, coords=coords, dims=['time', 'space']) # 访问数据坐标 print(da) print(da.data) print(da.coords['time']) # 执行操作 print(da.mean(dim='time')) print(da.sel(time=2)) ``` 以上示例中,我们首先创建了一个3x4的随机数据数组,并定义了timespace两个坐标。然后,我们使用这些数据坐标创建了一个DataArray对象。最后,我们展示了如何访问数据坐标,以及执行一些操作如计算均值按标签选择数据。 希望这个简单的示例能够帮助你更好地理解DataArray类型。
评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值