Python 如何使用datetime和number条目在此数据框中创建唯一id?
我有一个熊猫数据框,看起来像这样Python 如何使用datetime和number条目在此数据框中创建唯一id?,python,pandas,Python,Pandas,我有一个熊猫数据框,看起来像这样 miles dollars gallons date gal_cost mpg tank%_used day 0 253.2 21.37 11.138 2019-01-15 1.918657 22.732986 0.821993 Tuesday 1 211.9 22.24 11.239 2019-01-26 1.978824 18.853991 0.8294
miles dollars gallons date gal_cost mpg tank%_used day
0 253.2 21.37 11.138 2019-01-15 1.918657 22.732986 0.821993 Tuesday
1 211.9 22.24 11.239 2019-01-26 1.978824 18.853991 0.829446 Saturday
2 258.1 22.70 11.708 2019-02-02 1.938845 22.044756 0.864059 Saturday
3 223.0 22.24 11.713 2019-02-15 1.898745 19.038675 0.864428 Friday
我想创建一个名为“id”的新列,它对每个条目都是唯一的。对于df中的第一个条目,id为c0115201901,因为它来自df_c数据帧,日期为01 15 2019,是第一个条目
我知道我最终会做这样的事
miles dollars gallons date gal_cost mpg tank%_used day
0 253.2 21.37 11.138 2019-01-15 1.918657 22.732986 0.821993 Tuesday
1 211.9 22.24 11.239 2019-01-26 1.978824 18.853991 0.829446 Saturday
2 258.1 22.70 11.708 2019-02-02 1.938845 22.044756 0.864059 Saturday
3 223.0 22.24 11.713 2019-02-15 1.898745 19.038675 0.864428 Friday
df_c=df_c.assign(id=('c'+df_c['date'])+??)
但是我想解析df_c['date']
列来分别提取日、月和年的值。df_c['date']列是datetime64[ns]类型
另一个问题是,我想在id的末尾有一个计数器来计算日期的数字条目。例如,第一个条目为01,第二个条目为02,以此类推
我也有一个df_m数据帧,但我可以用该数据帧的不同字母重复该过程。参考
日期可以像这样轻松提取
df_c['date'].dt.day + df_c['date'].dt.month df_c['date'].dt.year
提及
日期可以像这样轻松提取
df_c['date'].dt.day + df_c['date'].dt.month df_c['date'].dt.year
@anky_91刚刚解决了这个问题,很抱歉that@anky_91刚刚解决了这个问题,很抱歉,这非常有帮助,谢谢!你知道如何创建id的最后一部分吗?使用索引
df_c.index
,这样可以工作,但是有没有办法按日期排序项目?第一个条目是c0115201901,如果那天我有另一个条目,它将是c0115201902?df_c['idx']=1
,然后df_c['idx'].cumsum()
我最后使用了df_c['date'].dt.strftime(“%d-%b-%Y”),这非常有用,谢谢!你知道如何创建id的最后一部分吗?使用索引df_c.index
,这样可以工作,但是有没有办法按日期排序项目?其中第一个条目是c0115201901,如果那天我有另一个条目,它将是c0115201902?df_c['idx']=1
,然后df_c['idx'].cumsum()
我最后使用了df_c['date'].dt.strftime(%d-%b-%Y”),效果很好