Pandas: как рассчитать процент от общего числа внутри группы
Вы можете использовать следующий синтаксис для расчета процента от общего числа внутри групп в pandas:
df['values_var'] / df.groupby('group_var')['values_var']. transform('sum')
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Вычисление процента от общего числа внутри группы
Предположим, у нас есть следующий кадр данных pandas, который показывает очки, набранные баскетболистами в разных командах:
import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame print(df) team points 0 A 12 1 A 29 2 A 34 3 A 14 4 A 10 5 B 11 6 B 7 7 B 36 8 B 34 9 B 22
Мы можем использовать следующий синтаксис для создания нового столбца в DataFrame, который показывает процент от общего количества набранных очков, сгруппированных по командам:
#calculate percentage of total points scored grouped by team df['team_percent'] = df['points'] / df.groupby('team')['points']. transform('sum') #view updated DataFrame print(df) team points team_percent 0 A 12 0.121212 1 A 29 0.292929 2 A 34 0.343434 3 A 14 0.141414 4 A 10 0.101010 5 B 11 0.100000 6 B 7 0.063636 7 B 36 0.327273 8 B 34 0.309091 9 B 22 0.200000
Столбец team_percent показывает процент от общего количества очков, набранных этим игроком в своей команде.
Например, игроки команды А набрали в сумме 99 очков.
Таким образом, игрок в первой строке DataFrame, набравший 12 очков, набрал в сумме 12/99 = 12,12% от общего количества очков для команды A.
Точно так же игрок во второй строке DataFrame, набравший 29 очков, набрал в общей сложности 29/99 = 29,29% от общего количества очков для команды A.
Примечание.Полную документацию по функции GroupBy можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как рассчитать сложные проценты в Python (3 примера)
Мы можем использовать следующую формулу сложных процентов, чтобы найти конечную стоимость некоторых инвестиций через определенный промежуток времени:
A = P(1 + r/n) нт
- A: Окончательная сумма
- P: Начальный основной
- r: Годовая процентная ставка
- n: количество периодов начисления сложных процентов в год.
- т: количество лет
Мы можем использовать следующую формулу для расчета конечной стоимости некоторых инвестиций в Python:
P \* ( pow ((1 + r / n), n \* t))
И мы можем использовать следующую функцию для отображения конечной стоимости некоторых инвестиций в конце каждого периода:
def each_year(P, r, n, t): for period in range(t): amount = P \* ( pow ((1 + r / n), n \* (period+ 1 ))) print('Period:', period + 1, amount) return amount
В следующих примерах показано, как использовать эти формулы в Python для расчета конечной стоимости инвестиций в различных сценариях.
Пример 1: Формула сложных процентов с годовым начислением сложных процентов
Предположим, мы инвестируем 5000 долларов в инвестиции, которые составляют 6% годовых.
Следующий код показывает, как рассчитать конечную стоимость этих инвестиций через 10 лет:
#define principal, interest rate, compounding periods per year, and total years P = 5000 r = .06 n = 1 t = 10 #calculate final amount P \* ( pow ((1 + r / n), n \* t)) 8954.238482714272
Эта инвестиция будет стоить 8 954,24 доллара через 10 лет.
Мы можем использовать функцию, которую мы определили ранее, для отображения конечных инвестиций после каждого года в течение 10-летнего периода:
#display ending investment after each year during 10-year period each_year(P, r, n, t) Period: 1 5300.0 Period: 2 5618.000000000001 Period: 3 5955.08 Period: 4 6312.384800000002 Period: 5 6691.127888000002 Period: 6 7092.595561280002 Period: 7 7518.151294956803 Period: 8 7969.240372654212 Period: 9 8447.394795013464 Period: 10 8954.238482714272
Это говорит нам:
- Конечная стоимость после первого года составила 5300 долларов .
- Конечная стоимость после 2-го года составила 5618 долларов .
- Конечная стоимость после 3-го года составила 5 955,08 долларов США .
Пример 2: Формула сложных процентов с ежемесячным начислением сложных процентов
Предположим, мы инвестируем 1000 долларов в инвестиции, которые составляют 6% годовых и начисляются ежемесячно (12 раз в год).
Следующий код показывает, как рассчитать конечную стоимость этих инвестиций через 5 лет:
#define principal, interest rate, compounding periods per year, and total years P = 1000 r = .06 n = 12 t = 5 #calculate final amount P \* ( pow ((1 + r / n), n \* t)) 1348.8501525493075
Эта инвестиция будет стоить 1348,85 долларов США через 5 лет.
Пример 3: Формула сложных процентов с ежедневным начислением сложных процентов
Предположим, мы инвестируем 5000 долларов в инвестиции, которые начисляются по ставке 8% годовых и начисляются ежедневно (365 раз в год).
Следующий код показывает, как рассчитать конечную стоимость этих инвестиций через 15 лет:
#define principal, interest rate, compounding periods per year, and total years P = 5000 r = .08 n = 365 t = 15 #calculate final amount P \* ( pow ((1 + r / n), n \* t)) 16598.40198554521
Эта инвестиция будет стоить 16 598,40 долларов США через 15 лет.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Python:
Вывод числа на python с вычетом процента. Как сделать?
Полосатый жираф Алик Искусственный Интеллект (312946) Траблы? В Питоне? Какие? Открой ЛЮБОЕ описание и шпарь.
Relt KrasfУченик (205) 5 лет назад
такая дичь выходит
a = int (input)
if a > 0
a = a * (1-12/100)
print (a)
else: («none»)
a = int(input(‘Число: ‘)) p = int(input(‘Процент: ‘)) print(a * (1 — p / 100))
Остальные ответы
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Python-сообщество
![]()
- Начало
- » Центр помощи
- » как сделать проценты в калькуляторе XD
#1 Март 2, 2021 21:55:20
xtr1ze Зарегистрирован: 2021-03-02 Сообщения: 2 Репутация: 0 Профиль Отправить e-mail
как сделать проценты в калькуляторе XD
# from colorama import init from colorama import Fore, Back, Style #use Colorama to make TErmocolor work on Windows too init() print( Fore.BLACK ) print( Back.GREEN ) what = input( "Выбери (+, -, /, * ): " ) print( Back.CYAN ) a = float( input("Введи первое число: ") ) b = float( input("Введи второе число: ") ) print( Back.YELLOW ) if what == "*": c = a * b print("Результат: " + str(c)) elif what == "-": c = a - b print("Результат: " + str(c)) elif what == "+": c = a + b print("Результат: " + str(c)) elif what == "/": c = a / b print("Результат: " + str(c)) else: print("Выбрана неверная операция!")
Всем Привет !! Нужна помощь , сделал “калькулятор” , только мне нужно в этот код сделать так , что бы показывались проценты , как это можно сделать? Подскажите пожалуйста ибо сижу 2 час , не в дупляю
#2 Март 2, 2021 22:10:42
xam1816 Зарегистрирован: 2020-05-11 Сообщения: 1262 Репутация: 108 Профиль Отправить e-mail
как сделать проценты в калькуляторе XD
what = input( "Выбери (+, -, /, *, %): " ) a = float( input("Введи первое число: ") ) b = float( input("Введи второе число: ") ) if what == "*": c = a * b print("Результат: " + str(c)) elif what == "-": c = a - b print("Результат: " + str(c)) elif what == "+": c = a + b print("Результат: " + str(c)) elif what == "/": c = a / b print("Результат: " + str(c)) elif what == '%': c = (a/b)*100 print(f'%') else: print("Выбрана неверная операция!")
Выбери (+, -, /, *, %): % Введи первое число: 20 Введи второе число: 50 40.0% Process finished with exit code 0