从2D阵列中删除行?

时间:2019-06-12 16:18:30

标签: python keras

我当前正在使用命令加载CSV表

xTrain= loadtxt('input_train.csv')

出于测试目的,我不想使用所有数据,但希望避免频繁更改CSV文件。

所以我的问题是:如何从xTrain中删除完整的行?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式从2D数组中删除行:

from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

# delete the last row
del T[3]

for r in T:
    for c in r:
        print(c,end = " ")
    print()

输出:

11 12 5 2 
15 6 10 
10 8 12 5 

如果您使用的是numpy,则可以通过以下方式删除:

import numpy as np 

arr = np.arange(12).reshape(3, 4) 
print("arr : \n", arr) 
print("Shape : ", arr.shape) 

# deletion from 2D array  
a = np.delete(arr, 1, 0) 
''' 
        [[ 0  1  2  3] 
         [ 4  5  6  7] -> deleted 
         [ 8  9 10 11]] 
'''
print("\nafter deletion: \n", a) 
print("Shape : ", a.shape) 

输出:

arr : 
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
Shape :  (3, 4)

after deletion:
 [[ 0  1  2  3]
 [ 8  9 10 11]]
Shape :  (2, 4)

文档:Numpy.delete(arr,obj,axis)

  1. obj:可以是切片,整数或整数数组,指示要从输入数组中删除的子数组
  2. axis:删除给定子数组所沿的轴。如果未给出,则将arr展平

希望这会有所帮助。祝好运。如有其他任何问题,请发表评论。