Я анализирую набор данных и пытаюсь добавить одну функцию в процесс / сценарий отчетности: после создания кросс-таблицы я объединяю детали данных и хочу переиндексировать, но используя относительное значение и расположить ихв приведенном ниже списке переиндексации от самого нового до самого старого:
df11:
Date_Viewed Doc_ID
2018-04-01 00:56:00 1234
2018-04-01 00:56:02 1234
2018-04-02 03:29:46 5678
2018-04-02 10:12:16 5678
df11 = (pd.crosstab(df11['Doc_ID'], df11['Date_Viewed'].dt.strftime('%m/%Y'))
.reset_index()
.rename_axis([None],axis=1)
.merge(df5, how = 'left', on='Doc_ID')
.sort_values('count', ascending=False).reset_index(drop=True)
)
print(df11)
Doc_ID 05/2018 06/2018 07/2018 08/2018 count SubType Name
1234 327 383 290 241 1622 Report Revenue
5678 530 182 262 197 1503 Report Profit
#this is the only way i have found to be able to reindex them(create a new DF and then use an absolute reference to move the date columns around)
df12 = pd.DataFrame()
df12 = df11
df12.index.names = [None]
df12 = df12.reindex(['Doc_ID', 'Name', 'SubType', '08/2018','07/2018','06/2018','count'], axis=1)
Любая помощь, которую вы можете оказать по любому из этих вопросов, будет принята с благодарностью!