python - 如何组合在一列中具有相同值的熊猫数据框中的行
问题描述
我有一个 2019-2020 赛季 NBA 球员统计数据的 pandas 数据框。一些球员的名字出现了不止一次,因为他们在整个赛季都效力于多支不同的球队。我想组织数据框,使每个玩家的名字只出现一次,对于名字出现多次的玩家,我想取他们所有统计数据的平均值并将其放在一行中。
例如,如果有一个球员在 3 支不同的球队打球并连续出现 3 行,我想将这 3 行合并为一行,新行是这三行所有统计数据的平均值。
以下是玩家姓名多次出现的示例:
有什么简单的方法可以做到这一点吗?我不知道一个玩家可能会出现多少次,我也不知道有多少玩家的名字会出现多次。我想遍历数据框并取具有相同玩家名称的行的所有统计数据的平均值。
如果需要,我可以删除“Tm”列或任何字符串列(“Player”除外),因为我并不绝对需要它们,但如果可能的话,我宁愿保留它们。
解决方案
您可以为此使用分组方法:
cols = [col for col in df.columns if all(char.isdigit() for char in col)]
df.groupby('player')[cols].mean()
推荐阅读
- java - 从终端编译/运行 LWJGL 程序
- excel - 如何使用用cygwin编译的fortran函数为windows 64b制作一个dll?
- python-3.x - 打印执行查询的表名
- amazon-web-services - AWS 中的协作工具(亚马逊网络服务)
- python - 在 keras 中使用点积
- reactjs - handleExpand 函数正在更改网格中的多个 Material UI 卡片
- spring - [] 中构造函数的参数 0 需要一个无法找到的 [] 类型的 bean
- python - Linux 上的 Jupyter:URL 错误:
我目前正在学习如何使用 pandas 库的教程,我可以解决这个错误。我对整个场景还是新手,所以我不完全确定发生了什么或如何解释这个错误:
----------------------------
- javascript - 将 mailgun 合并到控制器中
- c# - Try and Catch 块不扔任何东西