我有这样的数据帧:排名在多个列熊猫
dict_data = {'id' : [1,1,1,2,2,2,2,2],
'datetime' : np.array(['2016-01-03T16:05:52.000000000', '2016-01-03T16:05:52.000000000',
'2016-01-03T16:05:52.000000000', '2016-01-27T15:45:20.000000000',
'2016-01-27T15:45:20.000000000', '2016-11-27T15:08:04.000000000',
'2016-11-27T15:08:04.000000000', '2016-11-27T15:08:04.000000000'], dtype='datetime64[ns]')}
df_data=pd.DataFrame(dict_data)
的数据看起来像这样
我想排名在客户ID和日期,我用这个代码
(df_data.assign(rn=df_data.sort_values(['datetime'], ascending=True)
....: .groupby(['datetime','id'])
....: .cumcount() + 1)
....: .sort_values(['datetime','rn'])
....:)
我通过每个日期的ID得到不同的等级:
我想看到的是ID列,但对于同一日期时间获取每个ID同一职级。
排名的详细信息的方法也许提供了一个实际的布局你想要的输出? :)不知道我完全得到它! – Roelant
并添加进口熊猫作为PD,作为NP进口numpy也会有所帮助:) – Roelant