所以我有一个大的DF,结构如下:
name;id;value;source;date
john;id_123;33;A;2023-03-29
john;id_123;33;B;2023-03-29
peter;id_222;55;A;2023-03-30
peter;id_222;44;B;2023-03-30
mary;id_333;88;A;2023-30-30
我想过滤掉一些结果,并创建3个新的数据集。
1.从不同来源删除重复项。如果同一ID有多条记录,且日期相同,则只保留源B的记录。基于此过滤创建新DF。新的DF应该是这样的
name;id;value;source;date
john;id_123;33;B;2023-03-29
peter;id_222;44;B;2023-03-30
mary;id_333;88;A;2023-30-30
2.约翰的例子:从不同来源删除重复项。如果有一个相同的ID,具有相同的值和相同的日期,但不同的来源,我想删除来源A,只留下来源B的行。然后创建一个新的DF,它将包含所有原始记录,减去源A的“john like”记录。新的DF应该看起来像这样:
name;id;value;source;date
john;id_123;33;B;2023-03-29
peter;id_222;55;A;2023-03-30
peter;id_222;44;B;2023-03-30
mary;id_333;88;A;2023-30-30
3.彼得的例子:查找符合以下条件的所有记录:相同的ID,相同的日期,不同的值。保留这两个记录。找到所有这些案例并从中创建一个新的DF。新的DF应该看起来像这样:
name;id;value;source;date
peter;id_222;55;A;2023-03-30
peter;id_222;44;B;2023-03-30
1条答案
按热度按时间nukf8bse1#
第一章
如果同一个ID有多条记录,且日期相同,则只保留源B的记录
输出:
我的天
如果有相同的ID,具有相同的值和相同的日期,但来源不同,只需保留来源B的行。
输出
三个人
相同的ID,相同的日期,不同的值。保留这两个记录。
输出: