Size: a a a

Python для анализа данных

2021 October 03

D

Damocl in Python для анализа данных
Конкретно про мой вопрос по этой ссылке
источник

IS

Ilya Shutov in Python для анализа данных
Это вопрос? Так там все просто. Для каждой записи посчитать модуль (расстояние от 0), в группировке по расстоянию посчитать сумму чисел и поделить на расстояние. Это и будет число несбалансированных элементов, а знак покажет сторону отклонения
источник

D

Damocl in Python для анализа данных
Я либо вас не понимаю, либо это ответ на другой вопрос
источник

IS

Ilya Shutov in Python для анализа данных
Это ответ на вопрос по ссылке, значит первое. Пары в группировке по модулю аннигилируются
источник

D

Damocl in Python для анализа данных
Тогда давайте разбираться. Мне нужно получить очищенный список.

Вот после того что вы описали у меня есть величина отклонения для каждой группы по модулю. Что мне с ней делать?
источник

IS

Ilya Shutov in Python для анализа данных
Возьмите в руку карандаш и бумагу в клетку. Попробуйте представить как дискретное блуждание частицы. Я дал полный ответ, постарайтесь поэкспериментировать
источник

D

Damocl in Python для анализа данных
Что?
источник

IS

Ilya Shutov in Python для анализа данных
+6 +6 -6 +6 = 12
12 / 6 = 2
Ответ: дисбаланс два дискрета вправо по группе 6

Дальше — сами
источник

D

Damocl in Python для анализа данных
Я понимаю что вы описали. Я не понимаю что с этим делать дальше. Это то изначальная проблема была.
источник

IS

Ilya Shutov in Python для анализа данных
После агрегации по группе проблема просто рассосалась и пары ушли в ноль. Это ведь требовалось?
источник

D

Damocl in Python для анализа данных
источник

D

Damocl in Python для анализа данных
Вот что требовалось
источник

IS

Ilya Shutov in Python для анализа данных
Ну додумайте дальше сами, разверните квантификатор по строкам. По сути, это обратный RLE
источник

M

Mikhail in Python для анализа данных
Считаете в отдельном столбце абсолютное значение. Группируете по этому столбцу. Суммируете. Оставляете только те строки, где сумма не равна нулю.
источник

D

Damocl in Python для анализа данных
Суммировать что с чем?
источник

M

Mikhail in Python для анализа данных
Значения внутри группы
источник

D

Damocl in Python для анализа данных
Ну вот была у нас группа шестерок раскиданая по датафрейму,
+6 +6 -6 +6 = 12

Вот есть у меня число 12 и эта группа. Что дальше я не понимаю.
источник

M

Mikhail in Python для анализа данных
Делите 12 на айди группы (6) и размножаете на нужное количество строк с нужным знаком. Но я проще придумал
источник

M

Mikhail in Python для анализа данных
Сортируете группу
-6 6 6 6
Считаете cumsum
-6 0 6 12
Считаете второй cumsum в обратную сторону
12 18 12 6
Оставляете только те строки, в которых первый cumsum > 0 или второй < 0
источник

D

Damocl in Python для анализа данных
А это хоть теоритически должно быстрее работать?
источник