Python 3.x 如何使用Pandas.assign从Pandas数据框索引创建新列?

Python 3.x 如何使用Pandas.assign从Pandas数据框索引创建新列?,python-3.x,pandas,assign,Python 3.x,Pandas,Assign,我试图使用pandas assign方法创建一个新列,该列从Dataframe索引中派生其值。我真的想使用赋值函数来实现所需的输出。我该怎么做?提前谢谢 import pandas as pd df = pd.DataFrame([1,2,3,4,5],index=['A','B','C','D','E'],columns= ['Score']) df df.assign(Person=df.index) df 实际产量 期望输出 这就是你要找的吗 1第一种方式不使用分配:

我试图使用pandas assign方法创建一个新列,该列从Dataframe索引中派生其值。我真的想使用赋值函数来实现所需的输出。我该怎么做?提前谢谢

import pandas as pd
df = pd.DataFrame([1,2,3,4,5],index=['A','B','C','D','E'],columns= 
     ['Score'])
df  

df.assign(Person=df.index)
df
实际产量

期望输出


这就是你要找的吗

1第一种方式不使用分配: 2使用分配的第二种方式:
reset_index()您需要将语句重新分配回df
df=df.assign…
您的语句有效。您可以使用
rename_axis
reset_index
。如何在不重新分配等式的情况下以链接方式执行此操作?我希望在不重新分配新数据帧df1的情况下获得相同的输出。您可以使用df显示,我看不出区别,我只是将新的df分配给df=以防您在以后的步骤中需要使用它。。
import pandas as pd
import numpy as np

df = pd.DataFrame([1,2,3,4,5],index=['A','B','C','D','E'],columns= 
     ['Score'])

df=df.reset_index().rename(columns={'index': 'Person'})
df
df = pd.DataFrame([1,2,3,4,5],index=['A','B','C','D','E'],columns= 
 ['Score'])


df=df.assign(Person=df.index).reset_index()

df=df.drop(['index'], axis=1)
df