亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 pandas .mean() 中排除列

從 pandas .mean() 中排除列

慕妹3146593 2023-06-27 13:08:21
我有一個 df ,其中包含給定年份的給定統計數據中每個團隊的排名。它看起來像這樣:teamID  yearID  W   L   IP  WHIP    K%  BB% HR/9    ERA FIP ERA-    FIP-    K/BB+   WHIP+   K%+ BB%+    WAR1209    Athletics   2001.0  2.0 6.0 3.0 7.0 19.0    9.0 1.0 7.0 5.0 7.0 5.0 8.0 7.0 11.0    10.0    4.0我想創建一個列,其中包含每行的平均排名,但是執行 df.mean(axis=1) 包括年份(2001)并且確實會導致數字丟失。有人知道如何用 lambda 和 .apply() 來解決這個問題,或者是否有一個可以排除某些列的 kwarg?我還沒找到。我想跨年執行此操作,這就是 YearID 列是必要的原因。
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

只需使用loc[]列上的推導式將其從計算中排除即可。


df = pd.read_csv(io.StringIO("""teamID  yearID  W   L   IP  WHIP    K%  BB% HR/9    ERA FIP ERA-    FIP-    K/BB+   WHIP+   K%+ BB%+    WAR

1209    Athletics   2001.0  2.0 6.0 3.0 7.0 19.0    9.0 1.0 7.0 5.0 7.0 5.0 8.0 7.0 11.0    10.0    4.0"""), sep="\s+")


df["mean"] = df.loc[:,[c for c in df.columns if c!= "yearID"]].mean(axis=1)

輸出


         teamID  yearID    W    L   IP  WHIP    K%  BB%  HR/9  ERA  FIP  ERA-  FIP-  K/BB+  WHIP+   K%+  BB%+  WAR    mean

1209  Athletics  2001.0  2.0  6.0  3.0   7.0  19.0  9.0   1.0  7.0  5.0   7.0   5.0    8.0    7.0  11.0  10.0  4.0  6.9375


查看完整回答
反對 回復 2023-06-27
  • 1 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號