计算存储在 excel / 中的值的气候平均值.根据 python 中一年中的某一天的 CSV 文件



我在 .CSV 文件。

我想要不同年份同一日期的 X 值的平均值,即 X 值的平均值 01-jan-2000、01-jan-2001、01-jan-2002、01-jan-2003、01-jan-2004 和 01-jan-2005 然后是 02-jan-2000、02-jan-2001、02-jan-2002、02-jan-2003、02-jan-2004 和 02-jan-2005 等等。

我出于同样的目的使用了:dataframe.groupby('dateindex.dayofyear').mean()['X']命令,但不幸的是,它从闰年的 2 月 29 日和非闰年的 3 月 1 日给出了错误的平均值。

包含日期、X 值和平均值(示例数据的预期结果(的示例:

Date        X       Mean(Expected Outcome)
01-01-2000     1         (1+4)/2=2.5
02-01-2000     2              3.5
03-01-2000     3              4.5
01-01-2001     4              2.5
02-01-2001     5              3.5
03-01-2001     6              4.5

使用pd.to_datetimepd.Series.dt.strftime的一种方式:

df['Date'] = pd.to_datetime(df['Date'], dayfirst=True)
df['Mean'] = df.groupby(df['Date'].dt.strftime("%m%d"))["X"].transform("mean")
print(df)

或者简单地使用str

df['Mean'] = df.groupby(df["Date"].str[:5])["X"].transform("mean")

输出:

Date  X  Mean
0 2000-01-01  1   2.5
1 2000-01-02  2   3.5
2 2000-01-03  3   4.5
3 2001-01-01  4   2.5
4 2001-01-02  5   3.5
5 2001-01-03  6   4.5

最新更新