gpt4 book ai didi

python - 创建新列时索引会自动替换

转载 作者:行者123 更新时间:2023-12-01 01:28:33 24 4
gpt4 key购买 nike

我目前正在对按日期 (DD/MM/YY) 索引的 Pandas DataFrame 进行一些练习。当前的练习要求我对年份进行分组以获得平均年度值。所以我试图做的是创建一个新列,仅包含从 DataFrame 索引中提取的年份。我写的代码是:

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(),然后分配它返回到 value 列:

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

关于python - 创建新列时索引会自动替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53126967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com