Уведомления

Группа в Telegram: @pythonsu

#1 Май 30, 2018 08:40:32

lembolovo9
Зарегистрирован: 2018-05-30
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

переформирование массива

Всем привет, делаю типовые расчеты по математической статистике. Да, сказали сделать именно на питоне.
Ситуация такая: Была выборка из 200 чисел, я разбил по условию на 12 интервалов. Теперь есть словарь, ключи - середины интервалов, значения - количество чисел из выборки, попавших в этот интервал. Функции распределения, дисперсию итд я уже построил. Сейчас мне нужно проверить критерий Пирсона, для него в методичке требуют, чтобы в каждоминтервале было минимум 6-8 чисел, а те промежутки, в которых чисел меньше - объединить с соседним. Вопрос, как это реализовать?
Понимаю, что задача не очень сложная, просто охота именно некриворукий вариант услышать.

Отредактировано lembolovo9 (Май 30, 2018 08:41:17)

Офлайн

#2 Май 30, 2018 15:53:12

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

переформирование массива

например

 >>> l = [[1,1],[2,2],[3,3,3],[4,4,4,4]]
>>> out = [l.pop(0)]
>>> while l:
	t = l.pop(0)
	if len(out[-1]) < 4:
		out[-1] += t
	else:
		out.append(t)
		
>>> out
[[1, 1, 2, 2], [3, 3, 3, 4, 4, 4, 4]]
>>> 
можно еще скорректировать для последнего значения при выходе из цикла
 >>> out = [[1,1,1,1],[2,2,2,2],[3,3]]
>>> if len(out[-1]) < 4:
	t = out.pop()
	out[-1] += t
>>> out
[[1, 1, 1, 1], [2, 2, 2, 2, 3, 3]]
>>> 

Отредактировано vic57 (Май 30, 2018 16:07:36)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version