我有一个大约200万行的数据框,如下所示:
dt num
0 2019-05-12 10:17:00 135
1 2018-01-16 21:32:00 5
2 2017-11-30 22:29:00 135
3 2017-10-05 16:59:00 19
4 2017-08-07 05:26:00 5
5 2017-06-12 17:47:00 18
对于“num”列中的每个和所有不同值,我需要找到“dt”列对应的最小值
我是通过一个列表理解,后面跟着一个操作符:
[(num_i, df[df.num == num_i].dt.min()) for num_i in set(df.num)]
这是可行的,但确实需要很多时间。 有没有其他更省时的解决方法
哎呀。。。谢谢大家!(@It_是_Chris,@papke,@paul brennan)。 我想做一个时间比较,但提供的解决方案(groupby)在几秒钟内解决了它,而不是近一个小时
@It_is_Chris完全正确,如果您有更多可用的内核,请使用groupby应用技巧并行执行此任务
因此,将df.groupby(df['num'])作为dfGrouped传入,然后根据需要定义函数
输出:
相关问题 更多 >
编程相关推荐