首页 > 解决方案 > 如何在python中将年、月、日转换为只有年?

问题描述

这是我现在的输出

Year        Value
2010-12-31  50
2011-12-31  38
2012-12-31  84

这就是我要的

Year Value
2010 50
2011 38
2012 84

如何使用 pandas 获得所需的输出?

df["Year"] = pd.to_datetime(data["date"])
df.set_index("Year").groupby(pd.Grouper(freq="Y"))["Value"].sum()

我将频率设置为年份,并且值的总和完美地按年份计算。但是,年列显示日和月。我只想过年。

标签: pythonpandasdatetimepd

解决方案


尝试

df['Year'] = pd.to_datetime(df['date'])
out = df.groupby(df['Year'].dt.year)['Value'].sum().reset_index()

推荐阅读