我有一个df
,其中有一个列有日期(data
)和一个列有平均每日价格变化(DailyChange
),我需要按年分组这个df
,并为每年计算DailyChange
列的几何平均数。
这是代码的一部分:
df = pd.read_csv("data_with_changes.csv")
df["data"] = pd.to_datetime(df["data"])
df_result = df.groupby(pd.Grouper(key="data", freq="Y"))["DailyChange"].apply(lambda x: stats.gmean(x.dropna() + 100) - 100).reset_index()
df_result.columns = ["Year", "GeometricMean"]
df_result["Year"] = df_result["Year"].dt.year
df_result.to_csv("average_daily_change.csv", index=False)
不知道问题出在哪里,是在分组还是在使用stats.gmean
函数时出错。
1条答案
按热度按时间lnxxn5zx1#
您需要从几何平均值结果中减去100,以将其转换回百分比变化