我正在使用 Python 中的資料集,該資料集包含三列:州 (ST)、城市 (City) 和證書數量 (CERT)。我必須找到使用以下代碼完成的每個州的最少證書數量:
df.groupby(["ST"])["CERT"].min()
但是當我還需要輸出城市時,這只回傳狀態和證書數量。我需要每個州擁有最少證書數量的城市。當我運行以下代碼時:
df.groupby(["ST", "City"])["CERT"].min()
當我需要每個州的最小值以及該最小值所屬的城市時,我得到了每個城市的最小值。有沒有辦法在 .groupby 函式之外包含 City 列?
uj5u.com熱心網友回復:
您可以使用groupby idxmin來獲取最小值的索引,然后df使用它進行過濾loc:
index_of_min_certificates = df.groupby('ST')['CERT'].idxmin()
out = df.loc[index_of_min_certificates]
例如,df如下所示:
ST City CERT
0 CA LA 0
1 CA SF 1
2 NY NYC 2
3 NY Albany 3
上面的代碼產生:
ST City CERT
0 CA LA 0
2 NY NYC 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455765.html
標籤:Python 熊猫 数据框 熊猫-groupby
上一篇:強制不提交df.to_sql
