Python 合并行,其中对于不同的列,需要执行不同的操作

Python 合并行,其中对于不同的列,需要执行不同的操作,python,pandas,Python,Pandas,我正在尝试合并某些行,但不是对所有列使用公共操作。我想要pbheadid和wpadr相等的行与另一行合并。在这里,pickqty应该求和,其他列应该从最后一个条目或最高的pickdtm复制粘贴,但它是排序的,所以最后一个条目就可以了 我可以预先搜索索引并将其保存在字典中。并根据这些索引更改每一行/每一列。然而,这并不是那么直接和快速。我认为对于熊猫群比来说,应该有更快的方法。我们将不胜感激。这是一段数据(请注意,pbheadid类似,但在较大的数据集中会发生变化): 这应该是结果: pbhead

我正在尝试合并某些行,但不是对所有列使用公共操作。我想要pbheadid和wpadr相等的行与另一行合并。在这里,pickqty应该求和,其他列应该从最后一个条目或最高的pickdtm复制粘贴,但它是排序的,所以最后一个条目就可以了

我可以预先搜索索引并将其保存在字典中。并根据这些索引更改每一行/每一列。然而,这并不是那么直接和快速。我认为对于熊猫群比来说,应该有更快的方法。我们将不胜感激。这是一段数据(请注意,pbheadid类似,但在较大的数据集中会发生变化):

这应该是结果:

pbheadid    pbcarid     artid   wpadr   pickqty pickdtm
76079450    61838504    370944  523-370p    1   00:00:47
76079450    61838504    323775  523-372p    6   00:01:30
76079450    61838497    355475  523-373p    1   00:01:45
76079450    61838504    354194  523-377p    1   00:01:55
76079450    61838225    267204  523-376p    6   00:02:33
非常感谢

IIUC您可以这样做:

In [21]: (df.groupby(['pbheadid','wpadr'])
   ....:    .agg({'pickqty':'sum', 'artid':'last', 'pbcarid':'last', 'pickdtm':'last'})
   ....:    .reset_index()
   ....: )
Out[21]:
   pbheadid     wpadr   artid  pickqty   pbcarid   pickdtm
0  76079450  523-370p  370944        1  61838504  00:00:47
1  76079450  523-372p  323775        6  61838504  00:01:30
2  76079450  523-373p  355475        1  61838497  00:01:45
3  76079450  523-376p  267204        6  61838225  00:02:33
4  76079450  523-377p  354194        1  61838504  00:01:55
In [21]: (df.groupby(['pbheadid','wpadr'])
   ....:    .agg({'pickqty':'sum', 'artid':'last', 'pbcarid':'last', 'pickdtm':'last'})
   ....:    .reset_index()
   ....: )
Out[21]:
   pbheadid     wpadr   artid  pickqty   pbcarid   pickdtm
0  76079450  523-370p  370944        1  61838504  00:00:47
1  76079450  523-372p  323775        6  61838504  00:01:30
2  76079450  523-373p  355475        1  61838497  00:01:45
3  76079450  523-376p  267204        6  61838225  00:02:33
4  76079450  523-377p  354194        1  61838504  00:01:55