Удалить строки из 2D-массива? - PullRequest
1 голос
/ 12 июня 2019

Я сейчас загружаю таблицу CSV с помощью команды

xTrain= loadtxt('input_train.csv')

В целях тестирования я не хочу использовать все данные, но предпочитаю избегать частого изменения файла CSV.

Итак, мой вопрос: как удалить полные строки из xTrain?

Спасибо!

1 Ответ

2 голосов
/ 12 июня 2019

Вы можете удалить строку из 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. ось: ось, вдоль которой удаляется данный подмассив. Если не дано, обр. Уплощено

Надеюсь, это поможет. Удачи. Прокомментируйте, если у вас есть дополнительные вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...