pandas groupby agg lambda分组多列筛选统计数量

  • Post author:
  • Post category:其他


门架ETC数据,需要根据车辆类型按每小时统计路段的总流量和货车流量,可以使用pandas groupby agg lambda解决,代码如下:

dataall['日期']=dataall['时间'].apply(lambda x:str(x)[:10])
dataall['小时']=dataall['时间'].apply(lambda x:str(x)[11:13])

dataall.loc[dataall['车型'].isin([货车编码]),'车型']='货车'

menjia=dataall.groupby(['路段ID','日期','小时']).agg(总流量=('车型','size'),货车流量=('车型',lambda x:len(x.loc[x=='货车']))).reset_index()

关键点:lambda里面嵌套loc筛选



版权声明:本文为roamer314原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。