首页 > 解决方案 > 在数据框列中标记相同的日期?

问题描述

我有一个带日期的数据框:

东风:

date     value
20210403 1 
20210403 33
20210401 33
20210408 44
20210401 -11 
20210402 333

我想标记相同的日期并获得输出:

date     value  date_label
20210403 1               1
20210403 33              1
20210401 33              2
20210408 44              3
20210401 -11             2 
20210402 333             4

我考虑过获取df.date.unique()并添加一列标签,然后rejoin将其添加到我的 df 中。是否有任何内置功能可以做到这一点?

标签: pythonpython-3.xdataframe

解决方案


enumerate这是您可以在唯一日期值上尝试的解决方案,并将map其恢复为原始 df。

map_ = {j: i for i, j in enumerate(df['date'].unique(), 1)}

df['date_label'] = df['date'].map(map_)

       date  value  date_label
0  20210403      1           1
1  20210403     33           1
2  20210401     33           2
3  20210408     44           3
4  20210401    -11           2
5  20210402    333           4

推荐阅读