Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Быстро собрать подмассив в 2-мерном массиве 
V
    Опции темы
Poveritov
Дата 14.4.2020, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2015

Репутация: нет
Всего: нет



Подскажите пожалуйста, как можно быстро получить массив из двумерного массива по значениям

у нас есть массив
1752x1264 точек данных, каждая точка содержит значение False или True
сейчас чтобы получить нам массив мы выполняем вот такой код

Код

 for i in range(array.shape[0]):
      for j in range(array.shape[1]):
              if array[i][j] == True:
                   rect.append([[j,i]])


у нас на такое вычисление уходит 2-3 секунды в заисимости от размерности.

хотелось бы ускорить этот процесс и отобрать все i и j в которых значение True
PM MAIL   Вверх
Romikgy
Дата 14.4.2020, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Код

rect=[]
for row in enumerate(array): rect+=[ [[col[0],row[0]]] for col in enumerate(row) if col[1]]

try...


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Poveritov
Дата 14.4.2020, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2015

Репутация: нет
Всего: нет



получаем ошибку 
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
PM MAIL   Вверх
Romikgy
Дата 15.4.2020, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(Poveritov @  14.4.2020,  14:22 Найти цитируемый пост)
array.shape


Цитата(Poveritov @  14.4.2020,  14:22 Найти цитируемый пост)
array

Что это?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Poveritov
Дата 15.4.2020, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2015

Репутация: нет
Всего: нет



вопрос решен, спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1202 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.