Как рассчитать процент столбца в пандах?

Опубликовано: 27 Марта, 2022

Процент рассчитывается по математической формуле деления значения на сумму всех значений и последующего умножения суммы на 100. Это также применимо в Pandas Dataframes. Здесь предопределенный метод sum () для серии pandas используется для вычисления суммы всех значений столбца.

Syntax: Series.sum()

Return: Returns the sum of the values.

Формула:

 df [процент] = (df ['имя_столбца'] / df ['имя_столбца']. sum ()) * 100

Пример 1:

Python3

# Import required libraries
import pandas as pd
import numpy as np
   
# Dictionary
df1 = {
     "Name": ["abc", "bcd", "cde",
             "def", "efg", "fgh",
             "ghi"],
     "Math_score": [52, 87, 49,
                   74, 28, 59,
                   48]}
   
# Create a DataFrame
df1 = pd.DataFrame(df1, 
                   columns = ["Name",
                             "Math_score"])
  
# Calculating Percentage
df1["percent"] = (df1["Math_score"] / 
                  df1["Math_score"].sum()) * 100
  
# Show the dataframe
df1

Выход:

Example 2: 

Python3

# Import pandas library
import pandas as pd
   
# Dictionary
df1 = {
     "Name": ["abc", "bcd", "cde",
             "def", "efg", "fgh",
             "ghi"],
      "Math_score": [52, 87, 49,
                    74, 28, 59,
                    48],
       "Eng_score": [34, 67, 25
                    89, 92, 45,
                    86]
}
   
# Create a DataFrame
df1 = pd.DataFrame(df1, 
                   columns = ["Name",
                   "Math_score","Eng_score"])
  
# Calculate Percentage
df1["Eng_percent"] = (df1["Eng_score"] / 
                      df1["Eng_score"].sum()) * 100
# Show the dataframe
df1

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.