![](/img/trans.png)
[英]What should I do if I want tag all members of a group in telegram python bot?
[英]after group by I want to do aggregation on those groups with more than 5 members in python, how should I do that?
我有能源成本節約計划數據集的價值
我想回答這個問題:僅考慮至少有 5 家上市企業的 NTA,每個 NTA 的平均總儲蓄和創造的就業總數是多少?
所以我在第一部分使用了以下代碼:
df['NTA_mod']=df['NTA'].str.split('-')
df=df.explode('NTA_mod').reset_index(drop=True)
df_NTA_grp=df.groupby(['NTA_mod'])
現在我必須選擇 NTA 大於 5 的那些,我使用了以下代碼
df.groupby('NTA_mod').filter(lambda x: len(x) >= 5)
但是,我沒有得到任何回應,我不知道如何繼續回答這個問題。 我應該如何選擇那些擁有至少 5 個企業的 NTA? 我的方法正確嗎? 如果是,現在我應該如何匯總以獲得下一步的均值和總和?
你正朝着正確的方向前進。 使用aggregate
方法獲取均值和總和。 aggregate
可以對不同的列進行不同的操作。
df_ge_5 = df_NTA_grp.filter(lambda x: len(x) >= 5)
df_ge_5.groupby('NTA_mod').agg({
'Total Savings': 'mean',
'Job created': 'sum',
})
# Or, renaming columns with named aggregation
aggn = {
'Average Total Savings': ('Total Savings', 'mean'),
'Total Jobs Created': ('Job created','sum'),
}
df_ge_5.groupby('NTA_mod').agg(**aggn)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.