【发布时间】:2020-07-21 02:01:22
【问题描述】:
考虑以下数据帧 sn-p,它已按 Winner_Count 排序。
Year Award Winner Name Winner_Count Winner_Pct
9347 2011 Best Actress 1.0 Meryl Streep 19 0.010144
9098 2009 Best Actress 0.0 Meryl Streep 19 0.010144
7483 1995 Best Actress 0.0 Meryl Streep 19 0.010144
6389 1985 Best Actress 0.0 Meryl Streep 19 0.010144
7835 1998 Best Actress 0.0 Meryl Streep 19 0.010144
我只想按名称分组,这样我就不会连续 19 次使用同一个演员(例如,只看到一次 Meryl 和她的 Winner_Count 就可以了),但保留了排序顺序.到目前为止,我收到了各种错误消息,有时还收到了对象引用。我还没有看到一张桌子。我在这里看到的一些帖子建议使 groupby 对象出现需要比 Wes McKinney 的视频中显示的内容多得多的工作,这很奇怪。
为什么这不是一个简单的df_new = df.groupby('Name')?当/如果出现引用时,为什么对象不会自动出现?我似乎缺少关于 groupby 对象的一些基本内容,需要更正。想法?
编辑:
所需的数据集如下所示:每个参与者一行,而在原始数据集中,会有多个。
Year Award Winner Name Winner_Count Winner_Pct
9347 2011 Best Actress 1.0 Meryl Streep 19 0.010144
5953 1981 Best Actress 1.0 Katharine Hepburn 12 0.006407
657 1938 Best Actress 1.0 Bette Davis 10 0.005339
【问题讨论】:
-
当你执行
df.groupby('Name')- Pandas 应该如何知道你想对除“分组”列之外的所有列做什么 -Name?你能发布你想要的数据集吗? -
我认为你应该使用
df.drop_duplicates(subset='Name') -
@MaxU - 已编辑以显示所需的数据集。我是否应该从您的评论中推断出,如果我有超过 2 列,我必须告诉 groupby 如何处理所有列,或者删除所有不必要的列?
-
在这种情况下,您可以像 COLDSPEED 建议的那样简单地使用 DataFrame.drop_duplicates...
-
编辑了标题,使其对未来的读者更加规范。希望没关系。