Python.Перезапись новых чисел в столбец матрицы - PullRequest
0 голосов
/ 14 марта 2019

У меня есть набор данных, который имеет 44000 строк и 5 столбцов.То, что я хочу сделать, это стереть все числа во втором столбце и поместить туда новые числа в возрастающем порядке, но все остальные столбцы остаются такими же, как и раньше.Например, первая строка для этого столбца - 0,001, вторая строка - 0,003, а третья строка - 0,005 и т. Д.

Как реализовать в коде Python?Я до сих пор не совсем разбираюсь в Python.

Я заранее благодарен за вашу помощь.

1 Ответ

1 голос
/ 14 марта 2019

Я объясню на примере, а пока позвольте мне взять этот список.Ваша матрица может рассматриваться как двумерный список.

пусть мой список будет L = [[0,0,0], [0,0,0], [0,0,0]],Это матрица 3х3.Предполагая, что второй столбец каждой строки должен быть равномерно увеличен на 2, вы можете попробовать это.

l = [[0,0,0],[0,0,0],[0,0,0]]
inc=0

for i in l:
    i[1]=inc+2
    init=i[1]

print(l)

Для каждой строки в матрице измените второй столбец.Используйте переменную (incr) для отслеживания приращений.На первой итерации второй столбец строки 1 будет «2».После изменения значения обновите инкрементную переменную до нового значения, чтобы оно добавило добавочное значение к этому новому значению на следующей итерации.Вот что происходит.

Итерация 1:
row1 перед изменением - [0,0,0].Затем замените второй столбец на incr + 2 (сначала incr = 0, поэтому i [1] становится 2).Тогда incr = i [1] сделает incr = 2. Теперь row1 после изменения равен [0,2,0].

Итерация 2: row2 до изменения равна [0,0,0].Затем замените второй столбец на incr + 2 (значение incr было изменено на 2 в предыдущей итерации. Теперь i [1] равно incr + 2, что равно 2 + 2 = 4).Тогда incr = i [1] сделает incr = 4.Итак, теперь row2 после модификации равен [0,4,0].

Это повторяется.

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