📌  相关文章
📜  pandas 将索引转换为列 - Python (1)

📅  最后修改于: 2023-12-03 14:45:03.857000             🧑  作者: Mango

Pandas 将索引转换为列 - Python

在 Pandas 中,索引是用于对数据进行标记和访问的重要部分。有时候,我们可能需要将索引作为一个列来存储和操作。本文将介绍如何使用 Pandas 将索引转换为列。

示例数据

首先,让我们创建一个示例数据集作为演示:

import pandas as pd

data = {'Name': ['John', 'Jane', 'Tom', 'Jerry'],
        'Age': [28, 25, 32, 30],
        'City': ['New York', 'Paris', 'London', 'Sydney']}
df = pd.DataFrame(data)
df.index = ['A', 'B', 'C', 'D']

print(df)

输出:

   Name  Age      City
A  John   28  New York
B  Jane   25     Paris
C   Tom   32    London
D  Jerry   30    Sydney
将索引转换为列

Pandas 提供了 reset_index() 方法来将索引转换为列。我们可以使用该方法将 DataFrame 的索引转换为一个新的列。

df_reset = df.reset_index()
print(df_reset)

输出:

  index   Name  Age      City
0     A   John   28  New York
1     B   Jane   25     Paris
2     C    Tom   32    London
3     D  Jerry   30    Sydney

可以看到,原来的索引值被转换为了一个名为 'index' 的新列。

重新命名转换后的列

默认情况下,转换后的列名为 'index'。我们可以使用 rename() 方法来重新命名这个列。

df_reset = df.reset_index().rename(columns={'index': 'Index'})
print(df_reset)

输出:

  Index   Name  Age      City
0     A   John   28  New York
1     B   Jane   25     Paris
2     C    Tom   32    London
3     D  Jerry   30    Sydney

现在,转换后的列名为 'Index'。

保留原始索引

如果我们希望保留原始的索引,并创建一个新的从零开始的整数索引,可以使用 reset_index() 方法的 drop 参数。

df_reset = df.reset_index(drop=True)
print(df_reset)

输出:

   Name  Age      City
0  John   28  New York
1  Jane   25     Paris
2   Tom   32    London
3  Jerry   30    Sydney

现在,索引被重置为从零开始的整数索引,并且原始索引没有被保留。

结论

通过 reset_index() 方法,我们可以将索引转换为列,并进行相应的操作。这是处理数据集中索引的常见操作之一。

希望本文对你有所帮助!