首页 文章

如何通过Python获取特定类别的平均值

提问于
浏览
1

我想知道如何通过Python计算特定类别的平均值?我有一个名为demo.csv的csv文件

import pandas as pd
 import numpy as np

#loading the data into data frame
X = pd.read_csv('demo.csv')

感兴趣的两列是 CategoryTotals 列:

Category Totals estimates
2   2777    0.43
4   1003    0.26
4   3473    0.65
4   2638    0.17
1   2855    0.74
0   2196    0.13
0   2630    0.91
2   2714    0.39
3   2472    0.51
0   1090    0.12

我有兴趣找到与 Category 相对应的总计的平均值 . 我知道如何在excel上执行此操作,我只会过滤到仅显示类别2并获得平均值(最终为2745.5)但我将如何编码这是通过Python?

2 回答

  • 3

    您可以将数据框限制为所需行的子集( Category=2 ),然后取与 Totals 列对应的列的平均值,如下所示:

    df[df['Category'] == 2]['Totals'].mean()
    2745.5
    
  • 1

    我有兴趣找到与2类相对应的总计的平均值

    您可以将类别设置为索引,然后使用 .loc.ix 索引器计算任何类别的均值:

    df.set_index('Category').loc['2', 'Totals'].mean()
    => 2745.50
    
    df.set_index('Category').ix['2', 'Totals'].mean()
    => 2745.50
    

    使用 groupby 可以实现同样的目的

    df.groupby('Category').Totals.mean().loc['2']
    => 2745.50
    

    注意我假设 Category 是一个字符串 .

相关问题