Python numpy从数组中删除列,其中列中的第一个元素是0
如果我有一个随机numpy数组,如下所示:Python numpy从数组中删除列,其中列中的第一个元素是0,python,arrays,numpy,Python,Arrays,Numpy,如果我有一个随机numpy数组,如下所示: myArray: [0 , 0 , 51.78 , 17], [823. , 91.31 , 51.63 , 13], [819. , 93.03 , 51.77 , 52], [776.32 , 93.85 , 52.02 , 34], [755.12 ,
myArray:
[0 , 0 , 51.78 , 17],
[823. , 91.31 , 51.63 , 13],
[819. , 93.03 , 51.77 , 52],
[776.32 , 93.85 , 52.02 , 34],
[755.12 , 92.48 , 49.955 , 77],
[739.01 , 97.68 , 50.75 , 48],
[760.17 , 98.26 , 51.1 , 12],
[780.37 , 98.82 , 51.52 , 13],
[740.34 , 98.5 , 50.48 , 17],
[768.65 , 104.86 , 51.71 , 97]]
我希望删除第一个元素为0的列,从而生成如下数组:
myArray:
[51.78 , 17],
[51.63 , 13],
[51.77 , 52],
[52.02 , 34],
[49.955 , 77],
[50.75 , 48],
[51.1 , 12],
[1.52 , 13],
[50.48 , 17],
[51.71 , 97]]
注意
我知道np.delete
,我不确定在给定任何随机数组的情况下是否可以实现此功能。我正在寻找一种方法,如果给定一个第一行中有0的随机数组,我可以对任何数组实现相同的函数,而不仅仅是上面给定的示例
任何提示都将不胜感激 使用,条件为arr[0]!=0
:
arr[:, arr[0] != 0]
#array([[ 51.78 , 17. ],
# [ 51.63 , 13. ],
# [ 51.77 , 52. ],
# [ 52.02 , 34. ],
# [ 49.955, 77. ],
# [ 50.75 , 48. ],
# [ 51.1 , 12. ],
# [ 51.52 , 13. ],
# [ 50.48 , 17. ],
# [ 51.71 , 97. ]])
使用,条件将是arr[0]!=0
:
arr[:, arr[0] != 0]
#array([[ 51.78 , 17. ],
# [ 51.63 , 13. ],
# [ 51.77 , 52. ],
# [ 52.02 , 34. ],
# [ 49.955, 77. ],
# [ 50.75 , 48. ],
# [ 51.1 , 12. ],
# [ 51.52 , 13. ],
# [ 50.48 , 17. ],
# [ 51.71 , 97. ]])