数据框中的平均值

时间:2020-10-26 15:34:00

标签: python pandas dataframe average

    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点的平均微摩尔数。有什么建议吗?

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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())

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

您也可以尝试以下方法:

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