我有一个看起来像这样的数据框(请参见下文):Player Name Team PlayerMarketValueSteph Curry Golden State Warriors 169027.4782Steph Curry Golden State Warriors 169027.4782Steph Curry Golden State Warriors 169027.4782Steph Curry Golden State Warriors 169027.4782Lebron James All Stars 120896.3772Lebron James All Stars 120896.3772Lebron James All Stars 120896.3772Luka Doncic All Stars 36789.6562Luka Doncic All Stars 36789.6562Luka Doncic All Stars 36789.6562我正在尝试找到一种对两者进行分组的好方法Team,然后PlayerName从这个中提取第一个实例,PlayerMarketValue然后对其求和,然后将此值写入其各自的Team.在到达以下位置后,我遇到了障碍:NBAData['TotalTeamVal'] = NBAData.groupby(['Team', 'Player Name'])['PlayerMarketValue'].first().sum()即:我正在寻找(All Stars特别注意行):
3 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
在不了解数据结构的情况下,我会假设一名球员只能加入其中一支球队,因此我会开始
删除与每个玩家关联的重复行
总结团队中球员的价值观
DataFrame
使用团队列作为键重置索引并将所有内容合并回主目录
pd.merge(df, df.drop_duplicates('Player Name').groupby(['Team'])['PlayerMarketValue'].sum().reset_index(), on='Team', suffixes= ['', '_Team'] )
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
您可以对新数据框进行分组,获取总值并合并回来:
df.merge(df.groupby(['Player Name', 'Team']) .PlayerMarketValue.first() .groupby(['Team']).sum(), left_on='Team', right_index=True, suffixes=('','Total'))
POPMUISE
TA贡献1765条经验 获得超5个赞
你可以试试下面提到的方法。我希望这能帮到您。
NBAData=NBAData.groupby(["Player_name","Team"]).first()
添加回答
举报
0/150
提交
取消