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

📅  最后修改于: 2023-12-03 15:08:44.023000             🧑  作者: Mango

如何在 pandas 中将列转换为索引 - Python

在 pandas 中,将列转换为索引非常简单。下面将介绍一些方法,可以帮助你完成这个任务。

方法一:使用 set_index 函数

set_index 函数可以将一个或多个列转换为 DataFrame 的索引。这个函数有两个参数:keysdropkeys 用于指定将哪些列转换为索引,而 drop 则用于指定是否要删除这些列。

以下是使用 set_index 函数将 "Name" 列设置为索引的示例代码:

import pandas as pd

data = {'Name': ['Alex', 'Bob', 'Charlie', 'Dave'],
        'Age': [20, 25, 30, 35],
        'Gender': ['M', 'M', 'M', 'M']}

df = pd.DataFrame(data)

df.set_index('Name', inplace=True)
print(df)

输出结果如下:

         Age Gender
Name              
Alex      20      M
Bob       25      M
Charlie   30      M
Dave      35      M
方法二:使用 reset_index 函数

reset_index 函数可以将 DataFrame 索引重置为默认的整数索引。与 set_index 函数相反,reset_index 函数将索引列转换为普通列。

以下是使用 reset_index 函数将 "Name" 列转换为普通列的示例代码:

import pandas as pd

data = {'Name': ['Alex', 'Bob', 'Charlie', 'Dave'],
        'Age': [20, 25, 30, 35],
        'Gender': ['M', 'M', 'M', 'M']}

df = pd.DataFrame(data)

df.set_index('Name', inplace=True)
df.reset_index(inplace=True)

print(df)

输出结果如下:

      Name  Age Gender
0     Alex   20      M
1      Bob   25      M
2  Charlie   30      M
3     Dave   35      M
方法三:使用 reindex 函数

reindex 函数可以将 DataFrame 的行或列索引更改为新的序列。通过将列索引更改为另一个 DataFrame 的索引,可以将一个 DataFrame 的列转换为另一个 DataFrame 的索引。

以下是使用 reindex 函数将一个 DataFrame 的列转换为另一个 DataFrame 的索引的示例代码:

import pandas as pd

data1 = {'Name': ['Alex', 'Bob', 'Charlie', 'Dave'],
        'Age': [20, 25, 30, 35],
        'Gender': ['M', 'M', 'M', 'M']}

data2 = {'Name': ['Bob', 'Alex', 'Charlie', 'Dave'],
        'Salary': [2000, 2500, 3000, 3500]}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

df1.set_index('Name', inplace=True)

df2_reindexed = df2.set_index('Name')
df1_reindexed = df1.reindex(df2_reindexed.index)

print(df1_reindexed)

输出结果如下:

         Age Gender
Name              
Bob       25      M
Alex      20      M
Charlie   30      M
Dave      35      M
结论

现在你已经知道了如何在 pandas 中将列转换为索引,你可以在自己的项目中尝试这些方法。记住,使用 set_index 函数可以轻松地将列转换为索引,而 reset_index 函数可以将索引转换为普通列。如果你想将一个 DataFrame 的列转换为另一个 DataFrame 的索引,可以使用 reindex 函数。