创建以下现有数据框的数据框

时间:2019-06-03 08:45:35

标签: python pandas dataframe

我需要选择数据帧第一列的唯一值,并将它们作为第一列添加到第二个数据帧(新创建的值)->然后添加与每个唯一值相关的以下列。 我得到类似以下的内容

   First Field Name  Second Field Name
0                 1                 12
1                 2                 32
2                 3                  4
3                 2                 32
4                 3                 43
5                 4                 54
6                 3                 11
7                 2                 23
8                 1                 43

我需要以下内容

uniques       Sum     min    max    mean    std     ave
1             55      12     ...     ...    ...     ...
2             87      23
3             58      4
4             54      54

2 个答案:

答案 0 :(得分:2)

您可以GroupBy.agg使用聚合功能列表:

(df.groupby('First field')
   .agg(['min','max','mean','std', ('ave', 'mean')])
   .droplevel(0, axis=1))

                min  max       mean        std     ave
FirstFieldName                                           
1                12   43  27.500000  21.920310  27.500000
2                23   32  29.000000   5.196152  29.000000
3                 4   43  19.333333  20.792627  19.333333
4                54   54  54.000000        NaN  54.000000

答案 1 :(得分:1)

您应该在带有字典的字典中使用groupby函数,在该字典中您要通过“第二个”字段告知您要执行的操作:

df= pd.DataFrame({'First field' : [1,2,3,2,3,4,3,2,1],
                  'Second Field':[12,32,4,32,43,54,11,23,43]})
df.groupby('First field').agg({'Second Field' : ['sum', 'min', 'max', 'std', 'mean']})

退出:

                Second Field
                sum min max mean    std
First field                 
   1             55 12  43  27.500000   21.920310
   2             87 23  32  29.000000   5.196152
   3             58 4   43  19.333333   20.792627
   4             54 54  54  54.000000   NaN