如何从索引生成列?

2024-05-14 09:36:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为partylist的列表,它打印以下内容

Index(['AAAP', 'AABHAP', 'AACP', 'AAHPty', 'AAM', 'AAPP', 'ABD', 'ABEP',
       'ABGP', 'ABHM',
       ...
       'kajp', 'mimm', 'pjdl', 'rajpt', 'ravp', 'rpsn', 'skd', 'ssrd', 'svjn',
       'swbi'],
      dtype='object', name='PARTY', length=671)

我试着使用重置索引

newlist = partylist.reset_index(level=['PARTY'], inplace=True)

但我犯了一个错误


AttributeError Traceback (most recent call last) /var/folders/l9/6n1gmxmx515cfndb3gm2cyv40000gn/T/ipykernel_12124/2959807225.py in ----> 1 newlist = partylist.reset_index(level=['PARTY'], inplace=True)

AttributeError: 'Index' object has no attribute 'reset_index'

我如何解决这个问题并为partylist创建一个列列表


Tags: true列表indexobjectpartylevelattributeerrorreset
2条回答

看起来您在某个时候运行了这条线:

df = df.set_index('PARTY')

由于name='PARTY'位在那里,您可以使用以下命令使索引再次成为列:

df = df.reset_index()

如果要重命名索引(比如'PARTYLIST')并将其移动到列中,请尝试:

df = df.reset_index().rename(columns={df.index.name:'PARTYLIST'})

以上假设您的数据帧被称为df-change-as-required

我认为你的错误可以用这个代码重现

df = pd.DataFrame({1: [1,2,3]})
df.index = ['A', 'B', 'C']
df.index.reset_index()

您正在对索引对象调用reset_index(),因为错误表明它没有该属性。这是因为此方法用于docs.中的数据帧

要创建包含partylist变量中包含的索引对象的列,需要首先将其转换为列表,然后使用以下语法将其分配给列:

df['your_column'] = list(partylist)

相关问题 更多 >

    热门问题