gpt4 book ai didi

r - 有没有办法删除数据集中符号相反的对?

转载 作者:行者123 更新时间:2023-12-01 23:40:54 26 4
gpt4 key购买 nike

我有一个数据集如下。如果取消为“Y”,则美元为负,反之亦然。
从数据中,我想删除相同 id 中具有相同美元数量但不同符号(当然应该有不同符号的取消值)的对。

df

rownumber id1    cancel      dollar 
1 1 Y -50
2 1 N 10
3 1 N 50
4 2 N 14.4
5 2 Y -23.5
6 2 N 23.5
7 3 Y -15.5
8 3 N 15.5
9 4 Y -20.5

因此,这是我想要的输出。

df_desired

rownumber id1    cancel      dollar 
2 1 N 10
4 2 N 14.4
9 4 Y -20.5

可能,我可以使用 for 循环来完成,但数据太大而无法完成。
有什么简单的方法吗?

最佳答案

既然你有一个负号 iff cancel = Y,为什么不简单地将绝对值存储在 dollar 中呢?然后,您可以只获取具有唯一值的行,用于取消 + 美元。过滤后,您可以根据需要添加回负号。

如果出于某种原因这不是一个选项,如果您有足够的内存来从您的数据构建哈希集,您仍然可以在 O(2) 时间内完成它:对于每一行,插入 dollar成一个哈希集。然后再次迭代并过滤掉哈希集包含 -dollar 的所有值。

关于r - 有没有办法删除数据集中符号相反的对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40643986/

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