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

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

码农世界 2024-06-17 后端 88 次浏览 0个评论
  • Python中

    x[m,n]是通过numpy库引用数组或矩阵中的某一段数据集的一种写法,m代表第m维,n代表m维中取第几段特征数据。

  • 通常用法:

    x[:,n]或者x[n,:]

    X[:,0]表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据。

    X[0,:]使用类比前者。

  • 举例说明:

    1. x[:,0]:
    import numpy as np  
      
    X = np.array([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19]])  
    print X[:,0]  
    

    输出结果是:
    【Python】中的X[:,0]、X[0,:]、X[:,:,0]、X[:,:,1]、X[:,m:n]、X[:,:,m:n]和X[: : -1]

    1. x[:,1]:
    import numpy as np  
      
    X = np.array([[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19]])  
    print X[:,1]  
    

    输出结果是:
    【Python】中的X[:,0]、X[0,:]、X[:,:,0]、X[:,:,1]、X[:,m:n]、X[:,:,m:n]和X[: : -1]

    1. x[1,:]:

      即取第一维中下标为1的元素的所有值,输出结果为:
      【Python】中的X[:,0]、X[0,:]、X[:,:,0]、X[:,:,1]、X[:,m:n]、X[:,:,m:n]和X[: : -1]

    • 扩展用法:
      x[:,m:n],即取所有数据集的第m到n-1列数据

      例:输出X数组中所有行第1到2列数据

      X = np.array([[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17],[18,19,20]])  
      print X[:,1:3]  
      

      输出结果为:
      【Python】中的X[:,0]、X[0,:]、X[:,:,0]、X[:,:,1]、X[:,m:n]、X[:,:,m:n]和X[: : -1]

      • 举例说明:
        #!usr/bin/env python
        #encoding:utf-8
        from __future__ import division
         
        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]]]
        
        • 补充:
          1. X[: : m]代表了[开始:结束:步进],步进默认为 1:
          In [19]: string = 'python'
          In [20]: string[::1]    # 步进为1
          Out[20]: 'python'
          In [21]: string[::2]    # 步进为2, [0, 0+2, 0+2+2...]
          Out[21]: 'pto'
          
          1. X[: : -1]自然而然就想到了是将列表或字符倒过来:

            python列表如何逆向地访问值?

            比如说我有一个list = [1,2,3,4,5,6,7,7,8] 我想访问从倒数第一位到倒数第三位怎么做到? 我想要的输出效果应该是[8,7,7]:

            使用切片就可以了。

           list[::-1][:3]
           
           或者
           list[-3:][::-1]
          

          list[::-1]是将列表反过来,一种是先反过来,然后取前三位;一种是先取后三位,再反过来。

          >>> list = [1,2,3,4,5,6,7,7,8]
          >>> list[::-1][:3]
          [8, 7, 7]
          >>> list[-3:][::-1]
          [8, 7, 7]

          List[-3:] [: : -1],即先取后三位7,7,8  ,再反过来,8,7,7。 

转载请注明来自码农世界,本文标题:《【Python】中的X[:,0]、X[0,:]、X[:,:,0]、X[:,:,1]、X[:,m:n]、X[:,:,m:n]和X[: : -1]》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,88人围观)参与讨论

还没有评论,来说两句吧...

Top