【发布时间】:2021-02-14 22:50:01
【问题描述】:
我有一个熊猫数据框:
d = {'title':['GrownUps', 'Toy Story', 'Toy Story', 'Avatar', 'Avatar', 'Avatar'], 'year': [2012, 1995, 2000, 2005, 2006, 2010]}
dataset=pd.DataFrame(d)
从上面的数据框中,我想找到重复的电影标题(即玩具总动员、阿凡达)。为此,我使用以下代码:
dataset[dataset.duplicated(subset=['title'],keep=False)]
从返回的行中,我想为每个重复的电影保留最新的(例如year 列的最大值)并将没有最大年份的行的索引存储到列表中,以便我可以过滤它们来自初始数据集。
所以我的最终数据集应该是这样的:
d = {'title':['GrownUps', 'Toy Story', 'Avatar'], 'year': [2012, 2000, 2010]}
dataset=pd.DataFrame(d)
我只保留了 2000 年的玩具总动员而不是 1995 年,以及 2010 年的阿凡达而不是 2005 年或 2006 年
如果有人想使用不同的聚合而不是 max(),这可能非常有用,例如 mean()、sum() 等。
【问题讨论】: