自定义描述或聚合没有groupby

piR*_*red 8 python pandas

我想使用groupby.agg我的组是整个数据帧的地方.换句话说,我想使用这个agg功能,没有groupby.我找了一个例子,但找不到它.

这就是我所做的:

import pandas as pd
import numpy as np

np.random.seed([3,1415])

df = pd.DataFrame(np.random.rand(6, 4), columns=list('ABCD'))
df
Run Code Online (Sandbox Code Playgroud)

DF

def describe(df):
    funcs = dict(Kurt=lambda x: x.kurt(),
                 Skew='skew',
                 Mean='mean',
                 Std='std')
    one_group = [True for _ in df.index]
    funcs_for_all = {k: funcs for k in df.columns}
    return df.groupby(one_group).agg(funcs_for_all).iloc[0].unstack().T

describe(df)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我怎么会这样做的?

kid*_*ose 8

通过利用DataFrame.groupby()接受lambda函数,我认为通过自己的提议进行小规模压缩(我认为可以提高可读性):

def describe(df):
    funcs = dict(Kurt=lambda x: x.kurt(),
                 Skew='skew',
                 Mean='mean',
                 Std='std')
    funcs_for_all = {k: funcs for k in df.columns}
    return df.groupby(lambda _ : True).agg(funcs_for_all).iloc[0].unstack().T

describe(df)
Run Code Online (Sandbox Code Playgroud)