【问题标题】:Using pandas to get cumulative sum of data by days使用熊猫按天获取数据的累积总和
【发布时间】:2016-07-23 04:33:15
【问题描述】:

Python

我从 Wunderground 获得了 122 天的天气数据,这些数据没有相等的时间采样间隔。这是我的数据示例:

Bangor Weather Data from Wunderground
Datetime,Temp(F),Precip(in.),Snow (in.),PET(in./day),Baro(mBar)
    2015-12-02 01:30:00,1.1,0.3,0.0,0.45524647117649564,1017.5 
    2015-12-02 01:53:00,1.1,0.3,0.0,0.45524647117649564,1017.6 
    2015-12-02 02:20:00,1.1,0.3,0.0,0.45524647117649564,1017.2 
    2015-12-02 02:53:00,1.7,0.5,0.0,0.500024812603692,1016.7 
    2015-12-02 02:55:00,1.7,0.3,0.0,0.500024812603692,1016.5 
    2015-12-02 03:09:00,1.1,0.3,0.0,0.45524647117649564,1016.1 
    2015-12-02 03:33:00,1.1,0.5,0.0,0.45524647117649564,1016.1 
    2015-12-02 03:53:00,1.7,0.8,0.0,0.500024812603692,1016.1 
    2015-12-02 04:34:00,1.7,0.5,0.0,0.500024812603692,1015.1 
    2015-12-02 04:46:00,1.7,0.5,0.0,0.500024812603692,1015.1 
    2015-12-02 04:53:00,1.7,0.8,0.0,0.500024812603692,1015.1 
    2015-12-02 05:13:00,1.7,0.0,0.0,0.500024812603692,1014.4 

我想获取整个数据集的每日降雪量(在新的一天重置为零)。我希望我的输出看起来像:

    2015-12-01,0.0
    2015-12-02,0.0
    2015-12-03,1.0
    2015-12-04,3.0
    2015-12-05,0.0
    2015-12-06,1.0

我如何使用 pandas 来做到这一点?

【问题讨论】:

  • Related question 关于从时间序列中提取唯一日期。我怀疑你可以groupbyDate,然后申请cumsum
  • 其实这有点不清楚——你是想让累计总和在每一天都“重置”为 0,还是你想要每天 1 个数据点,以及当天的值对应到该点的积雪总数?我认为在这里显示一个示例输出会有所帮助。
  • 是的,很抱歉不够清晰。我想要特定日子的雪总和。所以是的,当有新的一天时它会重置为零。
  • @Strak cumulative 在哪里输入图片?看起来您对每日总和感兴趣。
  • @Sergey Bushmanov,每天的累计金额...与每日金额相同。本质上,您可以在给定日期添加每个时间间隔的雪量,这是特定日期的累积总和。

标签: python pandas dataframe wunderground


【解决方案1】:

这是你想要的吗?

df.groupby(df.Datetime.dt.date)['Snow (in.)'].sum()

这将为您提供每天的降雪量(总和)

【讨论】:

  • 我想大概他们想要cumsum,而不是sum
  • @Paul, IMO cumsum() 在这种情况下就雪而言没有多大意义
  • @SergeyBushmanov,让我们等待 OP - 我希望她/他会澄清这一点
  • @MaxU 好吧,我的意思是,人们经常用“X 风暴中降了多少”之类的术语来谈论雪(并且想知道在任何给定点降了多少)。我们对问题的不同解释这一事实让我认为 OP 确实需要澄清。
  • @MaxU,有点像。但是,是的,我确实想要累积的每日总和。我已将问题编辑得更清楚。
【解决方案2】:

你也可以使用:

df['Snow (in.)'].resample('D').sum()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2019-07-26
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多