gpt4 book ai didi

python - 在 Python/Pandas 中连接/合并数据框和编辑列名

转载 作者:太空宇宙 更新时间:2023-11-04 10:17:30 25 4
gpt4 key购买 nike

我使用以下命令从 Python 字典构建了一个 DataFrame:

population=pd.DataFrame(population.items(),columns=['Date','population']).set_index('Date').sort_index(ascending=True)

这给了我以下框架 population:

                 population
Date
2015-08 69
2015-09 65
2015-10 65
2015-11 66
2015-12 71

我使用以下命令从该 DataFrame 创建了另一个具有移动平均线的 DataFrame:

population_movav=pd.rolling_mean(population,10)

这给了我以下框架 population_movav:

                 population
Date
2015-08 68.0
2015-09 69.9
2015-10 71.6
2015-11 71.1
2015-12 71.2

我想把它们结合起来,这样它们就变成了这样:

                population   population_movav
Date
2015-08 69 68.0
2015-09 65 69.9
2015-10 65 71.6
2015-11 66 71.1
2015-12 71 71.2

综合,我需要连接它们并更改变量 population_movav 的列名。尝试了 pd.concat 但由于某种原因它无法正常工作。

我怎样才能做到这一点?

最佳答案

您需要使用 pd.concat使用 axis=1 然后将最后一列重命名为“population_movav”:

In [27]: df1
Out[27]:
population
Date
2015-08 69
2015-09 65
2015-10 65
2015-11 66
2015-12 71

In [28]: df2
Out[28]:
population
Date
2015-08 68.0
2015-09 69.9
2015-10 71.6
2015-11 71.1
2015-12 71.2

In [30]: df3 = pd.concat([df1, df2], axis=1)

In [31]: df3.columns = ['population', 'population_movav']
Out[31]:
population population_movav
Date
2015-08 69 68.0
2015-09 65 69.9
2015-10 65 71.6
2015-11 66 71.1
2015-12 71 71.2

编辑

如果您只需要更改最后一列,您可以执行以下操作:

df3.columns =  df3.columns[:-1].tolist() + ['population_movav']

关于python - 在 Python/Pandas 中连接/合并数据框和编辑列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442930/

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