Работа над проектом, который дает нам свободу владеть тем, что использовать. Поэтому я решил, что изучу python для этого.Элементы суммы в строке (Python/Numpy)
Чтобы сделать этот короткий, я хочу просуммировать все элементы в «строке» матрицы я читал в.
Это то, что мой 2D массив выглядит после того, как я прочитал в моей таблице из моего текста файл.
['0000' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '1']
['0001' '0' '1' '0' '1' '0' '0' '0' '0' '1' '0' '0' '0' '0' '1']
['0010' '0' '1' '0' '1' '0' '0' '0' '0' '1' '0' '0' '0' '0' '1']
['0011' '0' '1' '0' '1' '0' '0' '0' '0' '1' '0' '0' '0' '0' '1']
['0100' '0' '0' '0' '0' '0' '1' '0' '1' '0' '0' '1' '0' '0' '1']
['0101' '0' '0' '1' '0' '0' '0' '1' '0' '0' '1' '0' '1' '1' '0']
['0110' '0' '0' '1' '0' '1' '0' '0' '0' '0' '1' '0' '1' '1' '0']
['0111' '0' '0' '1' '0' '0' '0' '0' '0' '0' '1' '0' '0' '1' '0']
['1000' '0' '0' '0' '0' '0' '1' '0' '1' '0' '0' '1' '0' '0' '1']
['1001' '1' '0' '0' '0' '0' '0' '1' '0' '0' '1' '0' '1' '1' '0']
['1010' '1' '0' '0' '0' '1' '0' '0' '0' '0' '1' '0' '1' '1' '0']
['1011' '1' '0' '0' '0' '0' '0' '0' '0' '0' '1' '0' '0' '1' '0']
['1100' '0' '0' '0' '0' '0' '1' '0' '1' '0' '0' '1' '0' '0' '1']
['1101' '0' '0' '0' '0' '0' '0' '1' '0' '0' '0' '0' '1' '1' '0']
['1110' '0' '0' '0' '0' '1' '0' '0' '0' '0' '0' '0' '1' '1' '0']
['1111' '0' '0' '0' '0' '0' '0' '0' '0' '0' '1' '0' '1' '1' '0']
Я хочу суммировать все элементы каждой строки, исключая индекс 0 (4-значные числа). А затем сохраните эти суммы в списке.
Это то, что мой список сумм должен выглядеть следующим образом:
[1, 4, 4, 4, 4, 4, 5, 5, 3,.......,3] (Imagine it was all filled with the right sums)
Однако, это то, что мой код выхода:
number of rows: 16
number of cols: 15
num1s before: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
num1s after : [3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 7, 9, 7]
Я не уверен, что ошибка, но я думаю, что это связано с преобразованием строки/int. Поскольку моя таблица находится в строках, но я конвертирую ее в ints для суммирования. Отладка показывает правильные результаты, поэтому я не уверен, где ошибка.
Вот мой код:
import numpy
print ("Reading..")
txtfile = open("test1.txt", "r")
print(txtfile.readline())
txtfile.close()
r= numpy.genfromtxt('test1.txt',dtype=str,skiprows=1)
for x in range (0,len(r)):
print(r[x])
allTested = [0] * (len(r[0]) - 1)
num1s = [0] * (len(r[0]) - 1)
print("number of rows:", len(r))
print("number of cols:", len(r[0]))
print("num1s before:",num1s)
for x in range (0,len(r)):
for y in range(1,len(r[0])):
num1s[y-1] += int(r[x][y])
print("num1s after :",num1s)
Ха-ха брат я знаю, что я должен быть усложняя много вещей в питона. Это команда, которая генерирует список? Как и мне не нужен вложенный цикл? – KHMB
yeah '.tolist()' будет генерировать список, и для этого вам не нужен цикл. просто попробуйте – farhawa
Кажется, что не работает. Это то, что я делаю: w = numpy.sum (r, axis = 1) .tolist() , а затем печать w. Когда я запускаю его, я получаю «не могу выполнить сокращение с помощью гибкого типа». Не могли бы вы отредактировать мой код и показать мне, как вы это делаете? Скорее всего, я использую это неправильно. – KHMB