gpt4 book ai didi

python - 将重复项放在一列上,打破另一列的联系

转载 作者:行者123 更新时间:2023-12-03 21:53:49 26 4
gpt4 key购买 nike

我有以下数据框:

x = pd.DataFrame({
"item" : ["a", "a", "a", "b", "c", "c"],
"vote" : [1, 0, 1, 1, 0, 0],
"timestamp" : ["2020-06-07 11:04:26", "2020-06-07 11:03:37", "2020-06-07 11:09:18", "2020-06-07 11:04:40", "2020-06-07 11:09:11", "2020-06-07 11:09:23"]
})

item vote timestamp
a 1 2020-06-07 11:04:26
a 0 2020-06-07 11:03:37
a 1 2020-06-07 11:09:18
b 1 2020-06-07 11:04:40
c 0 2020-06-07 11:09:11
c 0 2020-06-07 11:09:23

如何在 item 列上 drop_duplicates,并使用 timestamp作为决胜局的专栏:保留最新的?
最终的数据框应如下所示:
item   vote   timestamp
a 1 2020-06-07 11:09:18
b 1 2020-06-07 11:04:40
c 0 2020-06-07 11:09:23

最佳答案

您可以调用sort_values在删除重复项之前在“项目”和“时间戳”上:

x.sort_values(['item', 'timestamp']).drop_duplicates('item', keep='last')

item vote timestamp
2 a 1 2020-06-07 11:09:18
3 b 1 2020-06-07 11:04:40
5 c 0 2020-06-07 11:09:23

指定 keep='last'意味着除了最后一行之外的所有行都被丢弃,这是因为我们在上一步中对时间戳进行了排序。
(x.sort_values(['item', 'timestamp'])
.drop_duplicates('item', keep='last')
.reset_index(drop=True))

item vote timestamp
0 a 1 2020-06-07 11:09:18
1 b 1 2020-06-07 11:04:40
2 c 0 2020-06-07 11:09:23

关于python - 将重复项放在一列上,打破另一列的联系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62252109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com