2017-06-01 80 views
0

删除列我已经尝试删除numpy的ndarray的第1列(如A,B,C ... A,B)通过在numpy的ndarray

x = np.delete(x, 0, axis=1) 

x = np.delete(x, 0, axis=0) 

然而,这是行不通的。

ndarray shape = (30000, 120, 15) 

[[['A' 0.0 0.0 ..., 0.0 0.0 'Y'] 
    ['B' 0.0 0.0 ..., 0.0 0.0 'Y'] 
    ['C' 0.0 0.0 ..., 0.0 0.0 'N'] 
    ..., 
    ['A' 0.0 0.0 ..., 0.0 0.0 'Y'] 
    ['B' 41.0 0.0 ..., 0.0 0.0 'N']]] 

如何解决此问题...谢谢。

+0

注意,您可以访问数据为:x [ :,:,1:]让列1以数组结尾。 – Vuwox

回答

1

列是数组的第三维,你需要axis = 2

import numpy as np 
x = np.array([[['A', 1, 2], 
       ['B', 2, 3]], 
      [['A', 1, 2], 
       ['B', 2, 3]]]) 

x.shape 
#(2, 2, 3) 

np.delete(x, 0, axis=2) 
#array([[['1', '2'], 
#  ['2', '3']], 
# 
#  [['1', '2'], 
#  ['2', '3']]], 
#  dtype='<U1') 

或者你可以用切片指数:

x[...,1:] 

#array([[['1', '2'], 
#  ['2', '3']], 
# 
#  [['1', '2'], 
#   ['2', '3']]], 
#  dtype='<U1') 
+0

谢谢sooooooooooooo多! –

+0

不客气! – Psidom