python pandas将序列中具有相同值的行合并并重新排序(删除序列中的重复项)

时间:2018-11-12 10:14:14

标签: python pandas group-by

假设我有下表:

ID    FRUIT    ORDER
01    apple    1
01    apple    2
01    peach    3
01    apple    4
02    melon    1
02    apple    2
02    apple    3
02    apple    4

现在,我想以迭代的方式合并值相等时的同一ID中的行(如果它们在序列中,则删除重复项),然后重新定义订单号,例如

ID    FRUIT    ORDER
01    apple    1
01    peach    2
01    apple    3
02    melon    1
02    apple    2

编辑:我忘了重新排序。如上:订单应以迭代方式重新安排

2 个答案:

答案 0 :(得分:1)

使用boolean indexing仅过滤第一个连续值,而使用cumcount过滤新顺序:

legend: {
    verticalAlign: 'top',
    margin: 0,
    padding: 0
}

答案 1 :(得分:0)

我相信这是一件容易的事:

>>> df
   ID  FRUIT  ORDER
0  01  apple      1
1  01  apple      2
2  01  peach      3
3  01  apple      4
4  02  melon      1
5  02  apple      2
6  02  apple      3
7  02  apple      4

>>> df[df['FRUIT'] != df['FRUIT'].shift(1)]
   ID  FRUIT  ORDER
0  01  apple      1
2  01  peach      3
3  01  apple      4
4  02  melon      1
5  02  apple      2