我想使用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)
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)
我怎么会这样做的?
通过利用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)
| 归档时间: |
|
| 查看次数: |
2350 次 |
| 最近记录: |