Je possède ce cadre de données:Classement sur plusieurs colonnes en pandas géants
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)
Les données ressemble à ce
Je veux classer sur ID client et la date, je le code
(df_data.assign(rn=df_data.sort_values(['datetime'], ascending=True)
....: .groupby(['datetime','id'])
....: .cumcount() + 1)
....: .sort_values(['datetime','rn'])
....:)
Je reçois un rang différent par ID pour chaque date:
Ce que je voudrais voir est le rang par ID mais pour le même datetime obtenir le même rang pour chaque ID.
Peut-être fournir une réelle mise en page de votre sortie souhaitée? :) pas sûr que je l'ai complètement compris! – Roelant
Et l'ajout de pandas d'importation comme pd, importer numpy comme np aiderait aussi bien :) – Roelant