【问题标题】:Data Manipulation with respect to date fields to get summary data对日期字段进行数据操作以获取汇总数据
【发布时间】:2021-04-08 04:44:00
【问题描述】:

我有如下数据:

start_date end_date project_sales project_category project_code
2015-08-03 2015-08-06 1683 CatA 1
2015-08-02 2015-08-04 6500 CatB 2

我想创建一个从日期 2014-01-01 到 2020-12-01 的时间范围,并分配上表的详细信息,例如: 例如在这里,我从 2015-08-02 到 2018-08-06 创建了 date_period df

date_period CatA_project_sales CatB_project_sales CatA_No_of_projects CatB_No_of_projects
2015-08-02 2166 0 1 0
2015-08-03 2166 561 1 1
2015-08-04 2166 561 1 1
2015-08-05 0 561 0 1
2015-08-06 0 561 0 1

正如您在上面看到的,project_sales 除以它的活跃天数。 我对逻辑非常清楚,但我正在努力想出支持它的代码。

感谢任何帮助。

注意:此代码需要在 2014 年 1 月 1 日至 2020 年 12 月 31 日的巨大数据帧上运行,请求帮助时考虑到这一点

【问题讨论】:

    标签: python dataframe


    【解决方案1】:

    我建议您查看这个 Stackoverflow 问题。我想你会在那里得到理想的答案。 Python Pandas counting and summing specific conditions

    【讨论】:

      【解决方案2】:

      我认为你可以创建一个pandas.date_range() 来创建datetime

      系列

      功能结构

      根据pandas.date_range

      pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs)
      

      因此,它实现了您的目标,您可以实现此代码以创建一系列 datetime 系列,然后将其转换为 dataframe

      代码语法

      date = pandas.date_range(start="2014-01-01", end="2020-12-31")
      dateFrame = pd.DataFrame(date)
      dateFrame.columns = ["date_period"]
      dateFrame.head()
      

      输出

      | date_period |
      |:-----------:|
      |  2014-01-01 |
      | 2014-01-02  |
      | 2014-01-03  |
      | 2014-01-04  |
      |  2014-01-05 |
      

      【讨论】:

      • 虽然它是代码的一部分,但我不只是在寻找具体的。仍然感谢您的帮助。
      • 如果这是您正在寻找的内容的一部分。那是因为您没有提供更多信息来说明您需要如何将日期序列与您拥有的大型数据框合并。 2.日期键将与...合并最后但并非最不重要的是,您未提供的尝试编码。
      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      相关资源
      最近更新 更多