这些是我在panda中使用数据帧中的crosstab.plot((绘制双线图的代码。然而,轴的顺序是错误的,我想在周一到周日订购。我将logData数据帧排序为未授权访问,并将其用于交叉表。有什么办法吗?
我包括了代码、数据帧和绘图。
unauthorizedAccess=logData.loc[logData["访问类型"]=="未授权"]pd.交叉表(未授权访问['Day'],未授权访问['Month'](.plot((
logData数据帧crosstab.plot((图形
您可以将日期名称转换为有序分类:
unauthorizedAccess = logData.loc[logData['Access Type'] == 'Unauthorized']
names = ['Monday', 'Tuesday', 'Wednesday', 'Thursday','Friday', 'Saturday', 'Sunday']
unauthorizedAccess['Day'] = pd.Categorical(unauthorizedAccess['Day'],
categories=names,
ordered=True)
pd.crosstab(unauthorizedAccess['Day'], unauthorizedAccess['Month']).plot()
或者使用DataFrame.reindex
:
unauthorizedAccess = logData.loc[logData['Access Type'] == 'Unauthorized']
names = ['Monday', 'Tuesday', 'Wednesday', 'Thursday','Friday', 'Saturday', 'Sunday']
pd.crosstab(unauthorizedAccess['Day'], unauthorizedAccess['Month']).reindex(names).plot()