【问题标题】:How to get mean values per specific time range pandas如何获得每个特定时间范围熊猫的平均值
【发布时间】:2022-01-11 18:31:07
【问题描述】:

我想计算特定时间范围内每天的平均温度,例如日期 = 2021-03-11 时间 = 14:23:00 和 16:53:00 之间的平均温度。我尝试使用以下 pivot_table:

in_range_df = pd.pivot_table(df, values=['Air_temp'],
                 index=['Date','Time'],
                  aggfunc={'Air_temp':np.mean})

数据框如下所示:

但是我现在如何指定时间范围呢?任何帮助表示赞赏。

【问题讨论】:

标签: python pandas dataframe pivot-table spyder


【解决方案1】:

通常你可以使用between

df[df["Datum"].between('2021-03-11 14:23:00',
                       '2021-03-11 16:53:00',)]["Air_temp"].mean()

【讨论】:

    【解决方案2】:

    首先您应该将Datum 列转换为datetime 类型:

    df['Datum'] = pd.to_datetime(df['Datum'])
    

    然后你可以像这样使用df.loc

    t1 = '2021-03-11 14:23:00'
    t2 = '2021-03-11 16:53:00'
    
    df.loc[(df['Datum'] > t1) & (df['Datum'] < t2)]['Air_tmp'].mean()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 2019-11-09
      • 1970-01-01
      • 2015-09-11
      • 2023-02-17
      • 2022-01-08
      • 1970-01-01
      相关资源
      最近更新 更多