2015-10-24 2 views
0

Эти три строки матрицы:Изменение одной матрицы и положить в другой один

16 disk 11 10.29 4.63 30.22 
79 table 11 20.49 60.60 20.22 
17 disk 11 22.17 0.71 10.37 

Я хочу добавить каждые три строки в одной строке, и я хочу, чтобы игнорировать строку столбца. Таким образом, результат первой строки на новой матрице должен быть таким:

16 11 10.29 4.63 30.22 79 11 20.49 60.60 20.22 17 11 22.17 0.71 10.37 

Что я сделал для этих 3-х линий:

y=[] 
for i in range (3): 
    y=append(y, X[i,0:0 and 2:]) 

Но это не работает. Не могли бы вы направить меня?

ответ

0

насчет:

A = [16, 'disk', 11, 10.29, 4.63, 30.22, 
79, 'table', 11, 20.49, 60.60, 20.22, 
17, 'disk', 11, 22.17, 0.71, 10.37 ] 

[item for item in A if not isinstance(item,str)] 

В случае А является NumPy матрица:

import re 
RE_D = re.compile('\d') 
[subitem for item in A.tolist() for subitem in item if RE_D.search(subitem)] 

или, может быть:

[subitem for item in A.tolist() for subitem in item if not subitem.isalpha()] 
+0

Я нашел интересное решение: HTTP: // StackOverflow. com/questions/354038/how-do-i-check-if-a-string-is-a-number-float-in-python – Moritz

+0

Не могли бы вы рассказать о коде, который вы записывать? Я не понимаю, как это работает? – Talia

+0

у вас есть матрица A, генератор петли над каждой записью, и если запись не является строкой, она выводится как список. Google 'генераторы'. – Moritz

Смежные вопросы