gpt4 book ai didi

python - 如何在复制后更改列名,并在新列中保留以前的数据?

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:40 24 4
gpt4 key购买 nike

我有几列的 DataFrame。在我复制其中一列(“Gamma”)之后,我得到了两列。现在我想将第二个“Gamma”的名称更改为其他名称(“Vega”),并且仍然保持与以前相同的数据。

我的代码是:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(5, 4),
index=pd.date_range('1/1/2012', periods=5),
columns=['Alpha', 'Beta', 'Gamma', 'Delta'])

X1=(df.iloc[0:,2])
A1=pd.concat([df,X1], axis=1)

具有相同名称“Gamma”的两列都更改为“Vega”,如下所示:

               Alpha      Beta      Vega     Delta      Vega
2012-01-01 1.183407 1.621138 -0.265026 1.281414 -0.265026
2012-01-02 0.242500 1.447831 1.416176 0.213390 1.416176
2012-01-03 2.561872 0.772370 0.491330 0.441862 0.491330
2012-01-04 -0.520791 0.295666 -0.426005 -0.302739 -0.426005
2012-01-05 -0.076098 -0.118959 0.252242 -0.995290 0.252242

那么,我怎样才能选择正确的“Gamma”列(第二个),以及如何只更改他的名字。

我的预期输出是:

               Alpha      Beta     Gamma     Delta      Vega
2012-01-01 1.183407 1.621138 -0.265026 1.281414 -0.265026
2012-01-02 0.242500 1.447831 1.416176 0.213390 1.416176
2012-01-03 2.561872 0.772370 0.491330 0.441862 0.491330
2012-01-04 -0.520791 0.295666 -0.426005 -0.302739 -0.426005
2012-01-05 -0.076098 -0.118959 0.252242 -0.995290 0.252242

最佳答案

看起来像一个简单的 assign 就可以做到。

A1 = df.assign(Vega=df['Gamma'])
print (A1)
Alpha Beta Gamma Delta Vega
2012-01-01 -2.695081 -1.934733 0.892127 -0.895014 0.892127
2012-01-02 -0.911289 0.714030 0.531698 1.435397 0.531698
2012-01-03 -1.374162 1.517784 0.321945 1.268438 0.321945
2012-01-04 -0.103294 -0.483923 -0.661366 -0.829013 -0.661366
2012-01-05 -2.700309 0.601139 1.940421 -0.489158 1.940421

关于python - 如何在复制后更改列名,并在新列中保留以前的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52086658/

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