我有以下数据框
import pandas as pd
tmp = pd.DataFrame({'date':['2018-08-31','2018-07-30','2018-07-30','2018-07-31']})
我想在tmp
数据框中创建一个新列,该列将是一个递增的索引,最小值从1开始,date
并且随着日期的增加而增加。
输出数据帧应如下所示:
date idx
0 2018-08-31 3
1 2018-07-30 1
2 2018-07-30 1
3 2018-07-31 2
有任何想法吗 ?
将列转换为日期时间,使用Series.rank
并将其转换为整数:
tmp['date'] = pd.to_datetime(tmp['date'])
tmp['idx'] = tmp['date'].rank(method='dense').astype(int)
print (tmp)
date idx
0 2018-08-31 3
1 2018-07-30 1
2 2018-07-30 1
3 2018-07-31 2
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句