我有問題,這是我的 df
{'libelle_competence': {0: 'Accessoires automobile',
1: 'Accueil téléphonique',
2: 'Activités de remise en forme',
3: 'Activités physiques et sportives adaptées',
4: 'Activités physiques pour tous'},
'Familles professionnelles': {0: ' Vendeurs',
1: ' Professions para-médicales',
2: " Professionnels de l'action culturelle, sportive et surveillants",
3: " Professionnels de l'action culturelle, sportive et surveillants",
4: " Professionnels de l'action culturelle, sportive et surveillants"},
'prevalence comp': {0: 0.264107210349354,
1: 0.25039387926072904,
2: 0.5523925685283885,
3: 0.5523925685283885,
4: 0.5523925685283885},
'prevalence comp %': {0: 26.410721034935314,
1: 25.03938792607282,
2: 55.23925685283866,
3: 55.23925685283866,
4: 55.23925685283866}}
我想按 Familles Professionalnelles 和 libelle_competence 分組,并使用 nlargest(10) 添加對流行率 % 列進行排序(僅保留 10 個第一個 libelle 能力)
df.groupby(["Familles professionnelles","libelle_competence"])["prevalence comp %"].nlargest(10)
但這不是我想要的。
編輯:我所展示的基本上是我的資料框的頭部來進行 dict。這是我的 df 的樣子:

這個想法是當我只保留與流行率 comp % 相對應的前 10 個 libelle_competence 時,為每個“家庭專業人士”繪制一個圖表。這個會比較好嗎 ?
uj5u.com熱心網友回復:
groupby將使熊貓為所有組執行以下功能。在您的情況下,您想丟棄您的'libelle_competence'-values的一部分。因此,您不應該將它們放入 groupby。
使用nlargest絕對有效。但是,如果您想保留其他列,則需要進行一些格式化。我做了這樣的事情(僅使用前 2 個值,以便過濾某些內容:D)
In [14]: df.groupby('Familles professionnelles').apply(lambda x: x.nlargest(2, 'prevalence comp %')).drop('Familles professionnelles', axis=1).reset_index(level=1, drop=True)
Out[14]:
libelle_competence prevalence comp prevalence comp %
Familles professionnelles
Professionnels de l'a... Activités de remise e... 0.5524 55.2393
Professionnels de l'a... Activités physiques e... 0.5524 55.2393
Professions para-médi... Accueil téléphonique 0.2504 25.0394
Vendeurs Accessoires automobile 0.2641 26.4107
這是你想要的嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/360311.html
下一篇:org.apache.catalina.connector.ClientAbortException:現有連接被遠程主機強行關閉
