📜  如何在 Pandas 中将组级汇总统计添加为新列?

📅  最后修改于: 2022-05-13 01:54:27.114000             🧑  作者: Mango

如何在 Pandas 中将组级汇总统计添加为新列?

在本文中,我们将学习如何在 DataFrame Pandas 中将 Group-Level Summary Statistic 添加为新列。这可以通过使用统计平均值、模式等概念来完成。这需要以下步骤:

  1. 选择一个数据框
  2. 从一列或一组列形成统计数据
  3. 将数据存储为系列
  4. 将数据框中的系列添加为列。

在这里,我们采用一个数据框,该数据框由学生 ID、姓名、分数和成绩组成。让我们创建数据框

Python3
# importing packages
import pandas as pd
  
# dictionary of data
dct = {'ID': {0: 23, 1: 43, 2: 12,
              3: 13, 4: 67, 5: 89,
              6: 90, 7: 56, 8: 34},
         
       'Name': {0: 'Ram', 1: 'Deep',
                2: 'Yash', 3: 'Aman',
                4: 'Arjun', 5: 'Aditya',
                6: 'Divya', 7: 'Chalsea',
                8: 'Akash'},
         
       'Marks': {0: 89, 1: 97, 2: 45, 3: 78,
                 4: 56, 5: 76, 6: 100, 7: 87,
                 8: 81},
         
       'Grade': {0: 'B', 1: 'A', 2: 'F', 3: 'C',
                 4: 'E', 5: 'C', 6: 'A', 7: 'B',
                 8: 'B'}
       }
  
# create dataframe
df = pd.DataFrame(dct)
  
# view dataframe
df


Python3
# make a series
new_column = df.groupby('Grade').Marks.transform('mean')
  
# view new series
print(new_column)
  
# add column in dataframe
df["Marks Mean"] = df.groupby('Grade').Marks.transform('mean')
  
# view modified dataframe
print(df)


输出:

现在,我们将使用上述方法找到组级统计摘要。

Python3

# make a series
new_column = df.groupby('Grade').Marks.transform('mean')
  
# view new series
print(new_column)
  
# add column in dataframe
df["Marks Mean"] = df.groupby('Grade').Marks.transform('mean')
  
# view modified dataframe
print(df)

输出: