标签: python-3.x pandas group-by aggregate aggregate-functions
我有以下代码:
data_agg_df = data_df.groupby("team", as_index=False).player.agg({"player_set": lambda x: set(list(x)), "player_count": "count"}) data_agg_df
然后我注意到player_count的输出是list(x)的值,而不是set(list(x))。我如何计算未复制的玩家,即set(list(x))?非常感谢!
player_count
list(x)
set(list(x))
答案 0 :(得分:1)
如果我理解正确,您可以使用nunique来计算独特玩家的数量:
nunique
dialog.show();
如果您想要一系列独特的玩家,请以与上述相同的方式使用unique代替data_agg_df = data_df.groupby("team", as_index=False).player.agg({"player_set": "nunique", "player_count": "count"}) 。
unique
data_agg_df = data_df.groupby("team", as_index=False).player.agg({"player_set": "nunique", "player_count": "count"})