我正在分析数据集,并尝试向报告过程/脚本添加一个功能:创建交叉表后,我将合并数据详细信息,并希望重新索引,但使用相对值并将其定位在下面的索引列表中,从最新到最旧:
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)
对于这些问题中的任何一项,您将提供的任何帮助将不胜感激!