3
我有一个graphlab sframe数据框,其中很少的行在“uid”列中具有相似的id值。graphlab - sframe:如何删除在列上具有相同ID和条件的行?
| VIM Document Type | Vendor Number & Zone | Value <5000 or >5000 | Today Status |
+-------------------+----------------------+----------------------+--------------+
| PO_VR_GLB | 1613407EMEAi | Less than 5000 | 0 |
| PO_VR_GLB | 249737LATIN AMERICA | More than 5000 | 1 |
| PO_MN_GLB | 1822317NORTH AMERICA | Less than 5000 | 1 |
| PO_MN_GLB | 1822317NORTH AMERICA | Less than 5000 | 1 |
| PO_MN_GLB | 1822317NORTH AMERICA | Less than 5000 | 1 |
| PO_MN_GLB | 1216902NORTH AMERICA | More than 5000 | 1 |
| PO_MN_GLB | 1213709EMEAi | Less than 5000 | 0 |
| PO_MN_GLB | 882843NORTH AMERICA | More than 5000 | 1 |
| PO_MN_GLB | 2131503ASIA PACIFIC | More than 5000 | 1 |
| PO_MN_GLB | 2131503ASIA PACIFIC | More than 5000 | 1 |
+-------------------+----------------------+----------------------+--------------+
+---------------------+
| uid |
+---------------------+
| 63068$#069 |
| 5789$#13 |
| 12933036$#IN6532618 |
| 12933022$#IN6590132 |
| 12932349$#IN6636468 |
| 12952077$#203250 |
| 13012770$#MUML04184 |
| 12945049$#112370 |
| 13582330$#CI160118 |
| 13012770$#MUML04184|
在这里,我要保留所有具有独特的UID行,只有具有相同的UID行之一,必须保留可以是今天状态= 1的任何行,行(也就是说,可是行和uid和行状态相同的行,但其他字段不同,在这种情况下,我们可以保留这些行中的任何一行)。我想在graphlab框架中执行这些操作,但我无法弄清楚如何继续。
感谢您的回复。问题是.unique只会删除检查一行中所有列的重复项。我只想做几列,也就是说,可以有行的uid和行状态相同,但其他字段不同,在这种情况下,我们可以保留这些行中的任何一行。此外,groupby不会存储整个sframe,它会将其剪切到您在key_columns中提到的列。 – Tarun
@Tarun我个人会选择列上的groupby(),然后使用.join加入选定列上的sframe。是的,我完全同意你的看法,groupby不保留所有的sframe,但是这是使用groupby来处理选定的列。其他方法是你可以使用熊猫并轻松地在多个列上工作。 –
@Tarun请通过在答案中打勾来验证此答案。谢谢 –