Python 需要按x轴日期排序';期间';

Python 需要按x轴日期排序';期间';,python,pandas,matplotlib,Python,Pandas,Matplotlib,我尝试了多种方法将日期从最早排序到当前,但我无法做到这一点。我想这一定是我忽略了的一些简单的事情,所以我伸出援助之手 对于matplotlib、python和python,我还是新手。我真的很感谢这个社区对我的帮助 我已将日期超时分为月份和年份,以便为期间创建一列。我正在寻找排序的总节省每个时期从最早到最新的 ausers["period"] = ausers['year'].astype(str)+' '+ ausers['month'].astype(str) atime = ausers

我尝试了多种方法将日期从最早排序到当前,但我无法做到这一点。我想这一定是我忽略了的一些简单的事情,所以我伸出援助之手

对于matplotlib、python和python,我还是新手。我真的很感谢这个社区对我的帮助

我已将日期超时分为月份和年份,以便为期间创建一列。我正在寻找排序的总节省每个时期从最早到最新的

ausers["period"] = ausers['year'].astype(str)+' '+ ausers['month'].astype(str)

atime = ausers.period.value_counts()
atime.plot(kind='bar')
plt.title('Successful saves by month')
plt.ylabel('Number of saves')
plt.xlabel('month')
目前,我有图表,因为它需要看,但我不能让它排序的保存数量按时期


我在想,也许我需要重新排序我的周期,这样我就可以把月份放在第一位了?

因此,为了对与日期相关的任何内容进行排序,我首先要维护“日期”数据类型,以便正确排序

将原始列转换为datetime(在您将其拆分为年/月列之前)

将熊猫作为pd导入
ausers[“Period”]=pd.to\u datetime(ausers['original\u date\u col',格式=“%Y:%m”)

  • 这将在df中添加
    'Period'
    ,并将
    日期列
    转换为日期时间,以便于排序
  • 通过将格式参数设置为
    '%Y-%m'
    ,输出将类似于
    2019-08
然后对df进行排序:
ausers=ausers.sort_值(['Period'])


希望这有帮助/提供价值:)

也许你应该使用
year
month
组合为
datetime
,例如
ausers['periods']=pd.to_datetime(ausers['year'].astype(str)+''+ausers['month'].astype(str))
。好的,我将把以前用它们做的尝试作为datetime来运行@QuangHoang你有没有关于如何从转换为datetime时添加的图形中删除00:00:00的技巧?谢谢你的格式帮助,所以我按照你说的格式设置了datetime,但我仍然得到了日期和时间戳,使排序图例只是一个黑色的单词重叠。如何修剪日期时间输出?排序工作得很好,尽管我很感谢在这方面的帮助。要修剪datetime输出,需要固定/更改
to_datetime
的“format”参数。我猜它会下降到毫微秒。我们只想以一年一个月结束<代码>%Y-%m“应该这样做。如果不是
,%Y-%b“
可以使用文档-