【问题标题】:Average in a dataframe数据框中的平均值
【发布时间】:2020-10-26 15:34:00
【问题描述】:
    Date    Timestamp   μmoles
0   2019-06-11  17:21:35    13.5
1   2019-06-11  17:22:35    13.1
2   2019-06-11  17:23:35    13.0
3   2019-06-11  17:24:35    11.8
4   2019-06-11  17:25:35    11.8
... ... ... ...
394 2019-06-11  23:55:38    0.0
395 2019-06-11  23:56:38    0.0
396 2019-06-11  23:57:38    0.0
397 2019-06-11  23:58:38    0.0
398 2019-06-11  23:59:38    0.0

我正在尝试编写一个代码来计算下午 5 点的平均微摩尔数。有什么建议吗?

【问题讨论】:

    标签: python pandas dataframe average


    【解决方案1】:

    您好,您可以尝试以下示例:

    df.loc[df['Timestamp'].dt.hour == 17]['μmoles'].mean() # Follows the 24 hour time format
    

    【讨论】:

      【解决方案2】:

      这应该可以满足您的期望。

      DateTimestamp 字段组合成date_time

      df["date_time"] = pd.to_datetime(df['Date'] + ' ' + df['Timestamp'])
      

      将小时提取到单独的列中

      df["hour"] = df["date_time"].apply(lambda x: x.hour)
      

      打印输出

      print(df.groupby(by=["hour"])["μmoles"].mean())
      

      【讨论】:

        【解决方案3】:

        你也可以试试这个:

        df.loc[df['Timestamp'].str.split(':').str[0] == '17', 'μmoles'].mean()
        

        【讨论】:

          【解决方案4】:

          在这里,我选取以 17 开头的行:并仅计算选定行的平均值

          df[df['Timestamp'].str.startswith('17:')]['μmoles'].astype('float64').mean()
          

          【讨论】:

            猜你喜欢
            • 2013-12-15
            • 1970-01-01
            • 2019-01-20
            • 1970-01-01
            • 2018-05-15
            • 1970-01-01
            • 2018-01-03
            • 2015-09-10
            • 2019-12-14
            相关资源
            最近更新 更多