如果groupby object中的列值为min,则返回带True的pandas序列的更快方法,其他则返回False

2024-04-25 17:07:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas df,并试图返回一个pandas系列,其中每一行都填充bools,如果值是其各自groupby对象中的min,则为True,否则为False

使用transform可以很好地工作

df.groupby(grouping_column)[value_column].transform(lambda x:x == min(x))

但这是痛苦的缓慢。我查看了文档,其他groupby方法似乎可以解决这个问题。有人有什么想法吗?也许排序然后取first()并将其与组中的所有其他条目进行比较?顺便说一句,我想保留与原始df中相同的索引。谢谢


Tags: 对象方法lambda文档falsetruepandasdf