📅  最后修改于: 2023-12-03 15:08:44.023000             🧑  作者: Mango
在 pandas 中,将列转换为索引非常简单。下面将介绍一些方法,可以帮助你完成这个任务。
set_index
函数set_index
函数可以将一个或多个列转换为 DataFrame 的索引。这个函数有两个参数:keys
和 drop
。keys
用于指定将哪些列转换为索引,而 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
函数。