pandaps迭代列的不同值,得到mean()/std()

2024-05-14 13:29:41 发布

您现在位置:Python中文网/ 问答频道 /正文

请协助我处理下列案件。在

我有一个Pandas数据框,看起来像这样:

DATE; NAME; COUNT1; COUNT2; COUNT3;
01; Name1; 14; 3; 6;
02; Name1; 17; 4; 2;
03; Name1; 11; 1; 9;
01; Name2; 14; 3; 6;
02; Name2; 17; 4; 2;
03; Name2; 11; 1; 9;
01; Name3; 14; 3; 6;
02; Name3; 11; 1; 9;
03; Name3; 17; 4; 2;

我需要得到每个名字的mean()和std()值(例如COUNT3)。在

结果如下:

^{pr2}$

提前谢谢!在


Tags: 数据namepandasdatemean名字std案件
1条回答
网友
1楼 · 发布于 2024-05-14 13:29:41

我认为您需要^{}并按^{}聚合:

df1 = df.groupby('NAME')['COUNT3'].agg(['mean','std'])
print (df1)
           mean       std
NAME                     
Name1  5.666667  3.511885
Name2  5.666667  3.511885
Name3  5.666667  3.511885

如果要更改输出格式add ^{}

^{pr2}$

对于更多列:

df2 = df.groupby('NAME')['COUNT1','COUNT2','COUNT3'].agg(['mean','std'])
print (df2)
      COUNT1         COUNT2              COUNT3          
        mean  std      mean       std      mean       std
NAME                                                     
Name1     14  3.0  2.666667  1.527525  5.666667  3.511885
Name2     14  3.0  2.666667  1.527525  5.666667  3.511885
Name3     14  3.0  2.666667  1.527525  5.666667  3.511885

df2 = df.groupby('NAME')['COUNT1','COUNT2','COUNT3']
        .agg(['mean','std'])
        .unstack()
        .reorder_levels((2,1,0))
        .rename_axis(('names','aggreg','columns'))
        .reset_index(name='val')
print (df2)
    names aggreg columns        val
0   Name1   mean  COUNT1  14.000000
1   Name2   mean  COUNT1  14.000000
2   Name3   mean  COUNT1  14.000000
3   Name1    std  COUNT1   3.000000
4   Name2    std  COUNT1   3.000000
5   Name3    std  COUNT1   3.000000
6   Name1   mean  COUNT2   2.666667
7   Name2   mean  COUNT2   2.666667
8   Name3   mean  COUNT2   2.666667
9   Name1    std  COUNT2   1.527525
10  Name2    std  COUNT2   1.527525
11  Name3    std  COUNT2   1.527525
12  Name1   mean  COUNT3   5.666667
13  Name2   mean  COUNT3   5.666667
14  Name3   mean  COUNT3   5.666667
15  Name1    std  COUNT3   3.511885
16  Name2    std  COUNT3   3.511885
17  Name3    std  COUNT3   3.511885

相关问题 更多 >

    热门问题