如何在python中将年、月、日转换为仅年?

如何在python中将年、月、日转换为仅年?,python,pandas,datetime,pd,Python,Pandas,Datetime,Pd,这是我现在的输出 Year Value 2010-12-31 50 2011-12-31 38 2012-12-31 84 这就是我想要的 Year Value 2010 50 2011 38 2012 84 如何使用pandas获得所需的输出 df[年份]=pd.to_datetimedata[日期] df.set\u index.groupbypd.Grouperfreq=Y[Value].sum 我将频率设置为“年”,值的总和是按年计算的。但是,“年”列显示日期和月

这是我现在的输出

Year        Value
2010-12-31  50
2011-12-31  38
2012-12-31  84
这就是我想要的

Year Value
2010 50
2011 38
2012 84
如何使用pandas获得所需的输出

df[年份]=pd.to_datetimedata[日期] df.set\u index.groupbypd.Grouperfreq=Y[Value].sum 我将频率设置为“年”,值的总和是按年计算的。但是,“年”列显示日期和月份。我只想要这一年。

试试看

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

您也可以使用正则表达式来实现这一点。从

df[Year]=df[Year].str.findallr\d\d\d[0]
如果您的日期与模式一致,这将完全按照您的意愿返回数据帧。

Stack Overflow无意取代现有教程和文档。datetime格式是有关数据类型的任何教程的一部分。我们希望你在这里发布之前做这项研究。