5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
||||||
1 | ||||||
При поиске максимального элемента (max), выдает ошибку :(14.01.2017, 20:44. Показов 3599. Ответов 21
Метки нет (Все метки)
Пытаюсь найти максимальный элемент, что бы дальше найти все элементы которые составляют 60%+ процентов от его значимости.
Python 3.6. Ошибка:TypeError: 'float' object is not iterable
0
|
14.01.2017, 20:44 | |
Ответы с готовыми решениями:
21
Найти ошибку при поиске max min элементов массива Казус при поиске максимального элемента массива. Неполадки с индексами при поиске максимального элемента Выдает ошибку при поиске элементов в массиве |
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
|
14.01.2017, 21:16 | 2 |
максимальный элемент чего??? одного числа? посмотри что у тебя в d лежит. там сумма среднего положительных и отрицательных.
1
|
20 / 20 / 17
Регистрация: 12.12.2015
Сообщений: 71
|
|
14.01.2017, 21:26 | 3 |
max(iter, [args ...] * [, key]) - Максимальный элемент последовательности.
ошибка в max(d) происходит из-за того, что d не последовательность, а число Максимальный элемент чего? У вас там 3 списка Лучше выложите текст задачи, так будет всем понятнее
0
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
14.01.2017, 21:36 [ТС] | 4 |
Согласен, валенок
а как вытянуть значние d по всем стобцам в один массив? Что бы потом в нем можно было найти наибольший элемент, а также те которые составляют от него больше 60% Добавлено через 9 минут Есть входящйи массив данных m x n, его надо вивести с файла, дальше надо поделить рядки на уровни - отрицательный и положительный. Потом найти на этих уровнях среднее арифметическое, а потом сумму средних арифметических, дальше взять модуль суммы средних. Эту часть программа выполняет. Дальше надо из "модуля суммы средних" найти самое большое число, и проверить будут ли в "модуле суммы средних", числа которые равны будут больше 60% самого большое числа в "модуле суммы средних". Затем вывести эти числа с ссылкой на столбец. Мол "столбец 1 "модуль суммы средних 45", столбец 3 "модуль суммы средних" 40"
0
|
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
|
14.01.2017, 21:41 | 5 |
можно лучше ссылку на источник задачи
0
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
14.01.2017, 21:42 [ТС] | 6 |
вот пример
0
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
14.01.2017, 21:47 [ТС] | 7 |
Конечно, пытаюсь реализовать часть из "Метод случайного баланса", стр 81.
Метод старый и долгое время считался эвристическим и до сих пор не имеет точного теоретического обоснования, сделаны лишь попытки. п.с.
0
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
14.01.2017, 21:58 [ТС] | 8 |
п.с. думаю желания разбираться с этим всем врядли найдется, помогите вывести в массив "Сумму средних арифметических по модулю", что бы от него можно было найти числа которые составляют А*0,6 , где А - наибольше число в массиве.
п.с.с. в идеале, конечно было бы найдя А и наибольшие числа, принтануть их, и вывести в 2 массива их столбцы. Как на скрине с экселя. 45 и 40, вывести 2 массива раздельно.
0
|
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
||||||
14.01.2017, 23:26 | 9 | |||||
А это максимальное число во всем массиве или колонке? и как максимальное по модулю или абсолютному значению?
1
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
14.01.2017, 23:53 [ТС] | 10 |
от "среднее по модулю", у каждой колонки свое среднее по модулю ( если смотрел скинутую выше книгу - это |X| - абсолютная величина оценки X), после этого нам надо определить по этим оценкам какие колонки ( наборы факторов), являються значительными. То есть, какие факторы наибольшие. Для этого берем среднее по модулю [45.0,0.0, 40.0, 20.0, 10.666666666666664, 20.0] и начинаем поиск самого большого значения - 45(А), дальше ставим планку значимости А*0,6 и дальше уже перебираем все значения, которые больше А*0,6(А*0,6= 45*0,6=27) и тогда у нас входят значимыми получаются 45 и 40, то есть 1 и 3 колонка.
Добавлено через 6 минут Так будет точнее сказано: от "среднее по модулю", у каждой колонки свое среднее по модулю ( если смотрел скинутую выше книгу - это |X| - абсолютная величина оценки X), после этого нам надо определить по этим оценкам какие колонки ( наборы точек), являються значимыми. То есть, какие абсолютные величины оценки наибольшие. Для этого берем среднее по модулю [45.0,0.0, 40.0, 20.0, 10.666666666666664, 20.0] и начинаем поиск самого большого значения - 45(А), дальше ставим планку значимости А*0,6 и дальше уже перебираем все значения, которые больше А*0,6(А*0,6= 45*0,6=27) и тогда у нас значимыми получаются 45 и 40, то есть 1 и 3 колонка.
0
|
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
||||||
15.01.2017, 00:23 | 11 | |||||
можно в конце кода дописать
1
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
15.01.2017, 00:26 [ТС] | 12 |
п.с. желательно это сделать так, что бы узнав о 1 и 3 столбце мы их могли вывестив массивы по отдельности и найти в них "Выделяющие точки".
Пример: Найти "Выделяющие точки" для 1 столбца ( [-45,-65,105,85,-5,-15,65,55]) это : 1. Разделить его на отрицательные и положительные точки Положительные [55,65,85,105] Отрицательные [-5,-15,-45,-65] находим и берем по модулю [5,15,45,65] ( для дальнейшего расчета) 2. Ищем выделяющиеся точки, для положительных Ищем максимальное среди отрицательных по модулю Отрицательные по модулю [5,15,45,65] Максимальное будет 65 Теперь среди положительных мы ищем числа больше 65, а это 85 и 105 3. Ищем выделяющиеся точки, для отрицательных Берем положительные [55,65,85,105] и ищем наименьшее число, это 55 И ищем все числа меньше 55 среди отрицательных по модулю [5,15,45,65] это 45,15, 5 Выводим выделяющиеся точки
0
|
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
||||||
15.01.2017, 00:30 | 13 | |||||
результат
0
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
15.01.2017, 00:34 [ТС] | 14 |
ага, супер
Маленький вопрос, а почему тут выводит прямые слэши которые разделяю все значения, а у меня нет Но это не критично) А как реализовать можно "Выделяющиеся точки", есть идеи? Хотя бы как вытянуть теперь массивы 1 и 3 столбика?
0
|
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
||||||||||||||||
15.01.2017, 10:55 | 15 | |||||||||||||||
я у себя вывод изменил чтоб явно столбцы были видны.
ну если в дальнейшем ты собираешься работать с списками элементов каждого столбца то собери их в список
мне кажется так будет лучше изменив цикл после 25 строки
теперь в списке list_column списки из элементов каждого столбца и бери какие нужны по индексу
1
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
15.01.2017, 16:27 [ТС] | 16 |
Semen-Semenich, а по какому принципу связать "числа больше 60% " с их колонками?
Вот нашли мы 45 ( это первый столбец), какой алгоритм, что бы на вывело массив 1 столбца?
0
|
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
|||||||||||
15.01.2017, 16:44 | 17 | ||||||||||
по индексу
если 45 в списке числа больше 60% (а это список list_60) находиться на первом месте то это первая колонка то
1
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|||||||||||
15.01.2017, 16:56 [ТС] | 18 | ||||||||||
не совсем понимаю
вот у нас есть
из него мы достаем 45 и с помощью
пишет :NameError: name 'index' is not defined
0
|
5035 / 3381 / 1155
Регистрация: 21.03.2016
Сообщений: 8,207
|
||||||
15.01.2017, 18:06 | 19 | |||||
пардон запарился
1
|
5 / 5 / 0
Регистрация: 18.11.2011
Сообщений: 92
|
|
15.01.2017, 18:26 [ТС] | 20 |
Semen-Semenich, а как сделать так, что б автоматически вывелись значения 45 и 40, а потом уже по ним искать столбцы?
0
|
15.01.2017, 18:26 | |
15.01.2017, 18:26 | |
Помогаю со студенческими работами здесь
20
С кажите, что не так при поиске максимального элемента в массиве Помогите найти ошибку при поиске отрицательного элемента массива Ошибка в поиске максимального элемента массива Двусвязный список: при удалении элемента выдает ошибку Ошибка в поиске максимального и минимального элемента в векторе Ошибка в коде при поиске max и min Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |