2017-06-01 7 views
0

Ich habe versuchen, erste Spalte numpy ndarray des löschen (z. B. A, B, C ... A, B) durcheine Spalte in numpy ndarray fallen

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

oder

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

jedoch Es ist keine Arbeit.

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']]] 

Wie lösche ich das ... Danke.

+0

Beachten Sie, dass Sie die Daten als zugreifen können: x [ :,:, 1:], damit Spalte 1 von Ihrem Array endet. – Vuwox

Antwort

1

Die Säule ist die dritte Dimension des Arrays, die Sie benötigen 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') 

Oder können Sie den Slicing-Index verwenden:

x[...,1:] 

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

Vielen Dank soooooooooooooo viel! –

+0

Gern geschehen! – Psidom

Verwandte Themen