1. 程式人生 > 程式設計 >Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

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

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[:,m:n]和X[:,m:n]
'''
 
import numpy as np
 
def simple_test():
  '''
  簡單的小實驗
  '''
  data_list=[[1,2,3],[1,1],[3,4,5],[4,5,6],[5,6,7],[6,7,8],9],[0,0],[2,9,8,[9,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],4],[7,0]],[[1,[8,[[8,6]],8]],[[9,67],4]],43],[43,22],42],29],20]],20],24],[17,10]],[[11,110],14],2]]]
  data_list=np.array(data_list)
  print 'X[:,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]

果然還是很方便,做個記錄,歡迎交流!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。