【问题标题】:Python : make a plot with "day of the year"Python:用“一年中的一天”制作一个情节
【发布时间】:2015-07-20 17:17:16
【问题描述】:

我有一个大数据框,其中包含日期(日期时间格式)和包含类别的项目:

例如:

日期;类别 ;项目

2015-05-13 23:53:00 ;一个 ;乙

我想按“一年中的某天”绘制物品数量(圣诞节有多少物品,不取决于年份)

到目前为止,我已经创建了一个新列 'DayOfYear',其中包含字符串形式的“月-日”(例如:12-24),并且我已按此属性分组以计算项目数

df = df[['Category','DayOfYear']].groupby(['DayOfYear']).count()

它给了我一张离我想要的不远的桌子:

> DayOfYear; Category 
> 1-1 ; 1801
> 1-10 ; 4829
> 1-11 ; 4971
> 1-12 ; 3964
> 1-13 ; 3116

但是当我将它放入图表时,这是无稽之谈:DayOfYear 不反映日期,因此它的排序顺序错误

知道如何做到这一点吗?我应该保留日期时间格式吗?

【问题讨论】:

  • 你已经在使用pandas了吗?如果您输入可剪切和粘贴的示例数据,回答这个问题会更有趣。
  • 是的,我正在使用 pandas,至于数据来自 Kaggle 比赛,所以我不确定我是否被允许:(
  • ?但是可以在stackoverflow上寻求帮助?

标签: python datetime matplotlib


【解决方案1】:

我已经找到了一种方法:)

我没有为月日构建一个字符串,而是添加了一个日期时间列,格式为 %M-%d

然后我按数据分组以计算一年中每一天的项目数,并根据该分组数据绘制项目数图

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多