【发布时间】:2020-02-05 04:33:25
【问题描述】:
我们现在的目标是删除重复的玩家行,但保留 G 列中计数最多的行(已玩游戏)。我们可以使用什么代码来实现这一点?我在此处附加了指向 Pandas 输出图像的链接。
【问题讨论】:
-
将数据添加为文本而不是图片。
我们现在的目标是删除重复的玩家行,但保留 G 列中计数最多的行(已玩游戏)。我们可以使用什么代码来实现这一点?我在此处附加了指向 Pandas 输出图像的链接。
【问题讨论】:
您可能希望首先按 G 列对数据框进行排序。
df = df.sort_values(by='G', ascending=False)
然后您可以使用 drop_duplicates 删除除第一次出现的所有重复项。
df.drop_duplicates(['Player'], keep='first')
【讨论】:
我能想到的方法有两种
df.groupby('Player', as_index=False)['G'].max()
和
df.sort_values('G').drop_duplicates(['Player'] , keep = 'last')
第一种方法使用 groupby 按 Player 对值进行分组,并收缩行保持 G 最大的行。第二种方法使用 Pandas 的 drop_duplicate 方法来实现。
【讨论】:
试试这个,
假设您的数据框对象是 df1 然后
series= df1.groupby('Player')['G'].max() # this will return series.
pd.DataFrame(series)
让我知道这是否适合你。
【讨论】: