我有一个大约1200行的熊猫数据框,其中一些行被重复多次。df如下所示:
ID Serial Age Grade Chem Bio Math Phy
M001 2 52 37 1 1 1 1
M001 2 55 37 2 1 0 1
M001 3 51 36,5 1 1 1 0
M001 3 51 46,5 1 0 1 1
M041 2 52 36,1 1 1 0 0
M041 2 51 36,1 2 1 2 4
M041 2 52 36,1 1 1 0
M041 2 52 36,1 1 1 1
M010 5 58 37,4 0 1 1 3
M010 5 55 39,4 1 2 1 1
M010 5 58 37,4 1 1 1 1
数据帧中的重复项应该由ID和Serial列标识,我能够做到这一点。但是,我想比较每组ID+序列行,找出它们的不同之处。这有点棘手,因为有时一个组中有2行要比较,有时每个组中的行(要比较)超过2行
我对一个解决方案感兴趣,在这个解决方案中,我可以根据ID和串行列按数据帧分组,然后比较每个组中的行。如果需要记录的两个或多个单元格之间存在差异(例如,在冲突单元格下方有一个X的新行中,或者可能以红色突出显示单元格)。生成的数据帧应如下所示:
ID Serial Age Grade Chem Bio Math Phy
M001 2 52 37 1 1 1 1
M001 2 55 37 2 1 0 1
M001 2 X X X
M001 3 51 36,5 1 1 1 0
M001 3 51 46,5 1 0 1 1
M001 3 X X X
M041 2 52 36,1 1 1 0 0
M041 2 51 36,1 2 1 2 4
M041 2 52 36,1 1 1 0
M041 2 52 36,1 1 1 1
M041 2 X X X X
M010 5 58 37,4 0 1 1 3
M010 5 55 39,4 1 2 1 1
M010 5 58 37,4 1 1 1 1
M010 5 X X X X X
有人能帮忙解决这个问题吗
您可以通过使用^{} 对} 获得每列的唯一条目数。如果唯一条目的数量大于或等于;1或空白
ID
和Serial
进行分组来创建比较标记表,并通过^{最后,通过^{} 将新创建的比较标记表连接回原始数据帧。按} 排序,以将相关条目放在一起
ID
和Serial
列按^{结果:
相关问题 更多 >
编程相关推荐