比较groupby组中的每个元素与该组中的唯一值,并获得相等位置

问题描述

我有一个数据框,其中包含用于特定度量的主题和日期。对于每个主题,我想查找组中每一行中的日期是否对应于该主题的第一(1),第二(2),第三(3)...唯一的日期值。

要澄清这就是我要寻找的内容:

    |subject | date | order|
    |A | 01.01.2020 | 1|
    |A | 01.01.2020 | 1|
    |A | 02.01.2020 | 2|
    |B | 01.01.2020 | 1|
    |B | 02.01.2020 | 2|
    |B | 02.01.2020 | 2|

我虽然有些类似,但是for循环在apply函数中是不允许的:

df['order']=df.groupby(['subject']).apply(lambda x: i if x['date']=value for i,value in enumerate(x['date'].unique()))

有直接的方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)