Sony_py
@Sony_py

Как посчитать процент случаев, когда второе количество больше на 25%?

Ни как не могу понять, что от меня требуют:

задача - получить «метрику» от 0 до 100% в соответсвии с количеством таких расхождений в меньшую сторону по след. данным:

[INFO] TOTAL BK:  3
[INFO] BK_NAMES ['STK', '18B', 'TNB']
[INFO] TOTAL BK:  31
[INFO] TOTAL BK:  ['STK', 'BNB', 'OLP', 'XBT', 'MTH', 'B9J', 'SBI', 'STY', 'LEO', 'BLT', 'BCT', 'ZEN', 'FON', 'BOR', '18B', 'UNI', 'COR', 'WLH', 'BVD', 'BTB', 'BT3', 'BWN', 'EFB', 'DAF', '888', 'PAC', 'TNB', 'WLN', 'CBG', 'PDW', 'NVB']


[INFO] TOTAL BK:  3
[INFO] BK_NAMES ['STK', 'XBT', 'B9J']
[INFO] TOTAL BK:  7
[INFO] TOTAL BK:  ['STK', 'GSP', 'BNB', 'XBT', 'B9J', 'BK8', 'BVD']

[INFO] TOTAL BK:  4
[INFO] BK_NAMES ['STK', 'PDW', 'DAF', 'STX']
[INFO] TOTAL BK:  12
[INFO] TOTAL BK:  ['STK', 'PDW', 'SBI', 'BOR', 'OLP', 'BCT', 'DAF', 'BWN', 'COR', 'BT3', 'STX', 'TNB']

[INFO] TOTAL BK:  4
[INFO] BK_NAMES ['STK', 'PDW', 'DAF', 'STX']
[INFO] TOTAL BK:  12
[INFO] TOTAL BK:  ['STK', 'PDW', 'SBI', 'BOR', 'OLP', 'BCT', 'DAF', 'BWN', 'COR', 'BT3', 'STX', 'TNB']

[INFO] TOTAL BK:  4
[INFO] BK_NAMES ['STK', 'PDW', 'DAF', 'STX']
[INFO] TOTAL BK:  12
[INFO] TOTAL BK:  ['STK', 'PDW', 'SBI', 'BOR', 'OLP', 'BCT', 'DAF', 'BWN', 'COR', 'BT3', 'STX', 'TNB']


т.е. к примеру:
6/11=54%, получить такое по каждому случаю и усреднить потом

И второе:
Посчитать % случаев, когда второе количество больше на 25%

Если в перовом задании все понятно, нужно сначала получить по каждому процент:

3/31=9.6
3/7=42.8
4/12=33.3
4/12=33.3
4/12=33.3


и затем получить среднее

Сложить: 9.6+42.8+33.3+33.3+33.3 / 5 = 30.46 -среднее

то по 2-му моменту(посчитать % случаев, когда второе количество больше на 25%) я просто не понимаю, что делать
  • Вопрос задан
  • 148 просмотров
Решения вопроса 2
hint000
@hint000
у админа три руки
когда второе количество больше на 25%

3/31=9.6
3/7=42.8
4/12=33.3

(100%*31/3)-100%=933.3% (второе количество на 933.3% больше первого)
(100%*7/3)-100%=133.3% (второе количество на 133.3% больше первого)
(100%*12/4)-100%=200% (второе количество на 200% больше первого)

во всех случаях превышение более, чем на 25%.
Если имелось в виду "когда второе количество больше на 25% и больше", то здесь таких 100% случаев.
Ответ написан
Комментировать
Maksim_64
@Maksim_64
Data Analyst
Если ПЕРВОЕ КОЛИЧЕСТВО = ВТОРОЕ КОЛИЧЕСТВО / 1.25, то второе количество больше в ТОЧНОСТИ на 25%.
Если ПЕРВОЕ КОЛИЧЕСТВО <= ВТОРОЕ КОЛИЧЕСТВО / 1.25, то второе количество больше на 25% ИЛИ более.
Это по поводу одной проверки в зависимости от условия (строго равно или (больше или равно)). Разберись какое из условий использовать.

Инициализируешь переменную-счетчик которая будет считать количество условий отвечающих условию выше. (count = 0), если условие истинно count = count + 1. Затем после обхода всех условий (count / N) * 100. где N это общее количество проверок.

Откуда взялось 1.25. Как нам увеличить число на определенный процент? ЧИСЛО * (1 + ПРОЦЕНТ / 100.) В нашем случае процент 25. Упрощая получим ЧИСЛО * 1.25 = ЧИСЛО УВЕЛИЧЕННОЕ на 25%. Но у нас по условие даны два количества и нужно проверить является ли второе больше первого на 25%. Соответственно получаем то что я написал в сам начале.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@gonzaman1
Надо добавить параметр арифметика в наименование тем.
Вводные:
Для получения числового значения в одно действие нужно либо умножать либо делить ))))
Для х+25% действия умножения х*(1+1*0.25)
Для х-25% деление у/(1-1*0.25)
Для больше меньше вычитание
x-y ><= 0

Для получения кол-ва нужен счетчик
1. Вариант меньшее от дольшего
2. Вариант Большее от меньшего
=0.25 счетчик +1
не= 0.25 счетчик 0
не забудьте о кол-ве действий, а то загоните в цикл.

потом берете значения счетчика и кол-во операция выводя итоговое значение.
Не очень удобно с точки зрения обновления значений, но зато очень понятно с точки зрения построения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы