【发布时间】:2019-09-24 16:34:31
【问题描述】:
我有一个数据框,其中包含订单 ID、客户 ID、日期订单和一些指标(不是很重要) 我想获取所有行的客户最后一个 ID 订单的数量
我试过这个:
data=pd.DataFrame({'ID': [ 133853.0,155755.0,149331.0,337270.0,
775727.0,200868.0,138453.0,738497.0,666802.0,697070.0,128148.0,1042225.0,
303441.0,940515.0,143548.0],
'CLIENT':[ 235632.0,231562.0,235632.0,231562.0,734243.0,
235632.0,235632.0,734243.0,231562.0,734243.0,235632.0,734243.0,231562.0,
734243.0,235632.0],
'DATE_START': [ ('2017-09-01 00:00:00'),
('2017-10-05 00:00:00'),('2017-09-26 00:00:00'),
('2018-03-23 00:00:00'),('2018-12-21 00:00:00'),
('2017-11-23 00:00:00'),('2017-09-08 00:00:00'),
('2018-12-12 00:00:00'),('2018-11-21 00:00:00'),
('2018-12-01 00:00:00'),('2017-08-22 00:00:00'),
('2019-02-06 00:00:00'),('2018-02-20 00:00:00'),
('2019-01-20 00:00:00'),('2017-09-17 00:00:00')]})
data.groupby('CLIENT').apply(lambda x:max(x['ID']))
它考虑了所有的 ID,只显示了三行 Client 和 max ID,但我只需要在前面的行中查看所有行 DataFrame。请帮忙)
【问题讨论】:
-
你能试试
data.groupby('CLIENT')['ID'].max()吗? -
请添加示例数据和预期输出来演示问题。参考this
标签: python pandas filter pandas-groupby pandas-apply