我希望對資料幀執行一些切片,并且我正在對.mean()和.std()結果重復相同的切片。我想知道是否可以將函式定義為mean或std可以定義為引數。如果是這樣,我以后可能會將這些型別的df操作擴展到其他操作,例如.min()和.max()。誠然是一個有限的集合,但我仍然很好奇。
所以目前我的代碼是這樣的:
df_mean = df.groupby(level=1).mean()
df_std = df.groupby(level=1).std()
df_std_slice = df_std[(df_mean['A']>10)&(df_mean['B']==1).copy()
df_mean_slice = df_mean[(df_mean['A']>10)&(df_mean['B']==1).copy()
我想知道它是否看起來類似于:
def df_slice(df,oper_arg):
df_mean = df_mean = df.groupby(level=1).mean() #I do need to have a df with mean data
df_{oper_arg} = df.groupby(level=1).{oper_arg}().copy()
df_slice = df_{oper_arg}[(df_mean['A']>10)&(df_mean['B']==1).copy()
return df_slice
uj5u.com熱心網友回復:
你當然可以!agg()為此目的而存在:
def df_slice(df,oper_arg):
df_mean = df.groupby(level=1).mean()
df = df.groupby(level=1).agg(oper_arg).copy()
# notice ^^^^^^^^^^^^^^
df_slice = df[(df_mean['A']>10)&(df_mean['B']==1).copy()
return df_slice
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/389563.html
上一篇:如何實作從購物車中洗掉所有專案的功能(django)
下一篇:函式后的陣列
