【问题标题】:How to use the resampling function to create 23 hour average data如何使用重采样功能创建23小时平均数据
【发布时间】:2022-12-18 12:01:06
【问题描述】:

我想从上午 10:00 到第二天上午 9:00 每 23 小时平均一次。 但我找不到解决办法

newDf = Data_s.resample(rule='H').mean()

我想我可以更改此代码,但我不知道如何更改。 我的数据是从23年3月11日到4月10日划分的。 像那样 2022-03-11 00:00 2022-03-11 00:01 .... 2022-04-11 00:00

如果有办法让我知道,我将不胜感激

谢谢你

我这样试

newDf = Data_s.resample(rule='23H',origin=).mean()

但它只能连续 23 小时取平均值。 其他简单的方法是删除数据(早上 8 点),但我想知道如何通过代码实现 谢谢你。

【问题讨论】:

    标签: python dataframe mean pandas-resample


    【解决方案1】:

    由于“从上午 10:00 到上午 9:00 每 23 小时”意味着不包括“第 9 小时”,因此这是一种可能的方法:

    import pandas as pd
    
    df = pd.DataFrame({
        "time": pd.date_range(start="2022-03-11 00:00", end="2022-04-11 00:00", freq="min"),
        "value": 1
    })
    
    hour_to_exclude = 9
    time_subset = df[df["time"].dt.hour != hour_to_exclude]
    time_subset.resample("D", on="time").mean()
    

    输出:

                value
          time  
    2022-03-11  1.0
    2022-03-12  1.0
    2022-03-13  1.0
    2022-03-14  1.0
    2022-03-15  1.0
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2021-08-01
      相关资源
      最近更新 更多