Python 从索引中创建新列时自动替换索引

Python 从索引中创建新列时自动替换索引,python,pandas,dataframe,Python,Pandas,Dataframe,我目前正在按日期(DD/MM/YY)索引的熊猫数据帧上做一些练习。当前的练习要求我按年份分组,以获得年平均值。 所以我试图创建一个新列,只包含从数据框索引中提取的年份。我写的代码是: data["year"] = [t.year for t in data.index] data.groupby("year").mean() 但出于某种原因,新的“年”栏最终取代了之前的完整日期索引(甚至没有成为“标准”栏,它完全消失了),这有点出乎意料。这怎么可能 提前谢谢 对于示例数据帧:

我目前正在按日期(DD/MM/YY)索引的熊猫数据帧上做一些练习。当前的练习要求我按年份分组,以获得年平均值。 所以我试图创建一个新列,只包含从数据框索引中提取的年份。我写的代码是:

data["year"] = [t.year for t in data.index]
data.groupby("year").mean()
但出于某种原因,新的“年”栏最终取代了之前的完整日期索引(甚至没有成为“标准”栏,它完全消失了),这有点出乎意料。这怎么可能


提前谢谢

对于示例数据帧:

            value
2016-01-22      1
2014-02-02      2
2014-08-27      3
2016-01-23      4
2014-03-18      5
如果要保留逻辑,只需调用要获取的
mean()
列,并使用
transform()
,然后将其分配回
列:

data['year'] = [t.year for t in data.index]
data['value'] = data.groupby('year')['value'].transform('mean')
收益率:

               value  year
2016-01-22  2.500000  2016
2014-02-02  3.333333  2014
2014-08-27  3.333333  2014
2016-01-23  2.500000  2016
2014-03-18  3.333333  2014

你能在你的问题中包括你的数据帧的样本吗?