Python 在日期和时间列中按天分组并取平均值
我有一个类似图中所示的df,我想:Python 在日期和时间列中按天分组并取平均值,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我有一个类似图中所示的df,我想: 按几年的天数分组(2006年至2010年,示例:组(2006-01-012007-01-012008-01-012009-01-0120010-01-01),然后 取这几天压力柱的平均值(2006-01-01、2007-01-01、2008-01-01、2009-01-01、20010-01-01),然后 仅使用压力值的平均值生成一个新列 在这种情况下,我们需要按月份和日期分组的原始数据行数,这可以通过使用transform函数创建和添加列来实现 im
在这种情况下,我们需要按月份和日期分组的原始数据行数,这可以通过使用transform函数创建和添加列来实现
import pandas as pd
import numpy as np
np.random.seed(20210430)
df = pd.DataFrame({'Date':pd.to_datetime(pd.date_range('2006-01-01','2011-01-01', freq='1d')), 'Pressure':np.random.randint(40,60,(1827,))})
# Check the numbers beforehand.
df[(df.Date.dt.month == 1) & (df.Date.dt.day == 1)]
Date Pressure
0 2006-01-01 51
365 2007-01-01 45
730 2008-01-01 53
1096 2009-01-01 45
1461 2010-01-01 59
1826 2011-01-01 40
df['mean'] = df.groupby([df.Date.dt.month, df.Date.dt.day])['Pressure'].transform('mean')
# Numerical verification after the fact
df[(df.Date.dt.month == 1) & (df.Date.dt.day == 1)]
Date Pressure mean
0 2006-01-01 51 48.833333
365 2007-01-01 45 48.833333
730 2008-01-01 53 48.833333
1096 2009-01-01 45 48.833333
1461 2010-01-01 59 48.833333
1826 2011-01-01 40 48.833333
请以文本格式共享输入和所需输出的示例。请提供一个示例,包括输入和预期输出,以及您尝试的解决方案。你可以回答这个问题。如果我的回答对你有帮助,请考虑接受它作为正确的答案。