📅  最后修改于: 2023-12-03 15:24:48.589000             🧑  作者: Mango
在熊猫(pandas)中,更改数据框中的列顺序可以使用 reindex
或 loc
方法。此外,通过指定列的新顺序列表也可以轻松地更改列顺序。
使用 pandas.DataFrame.reindex
方法来更改熊猫数据框的列顺序。此方法重排列并返回新的数据框。
import pandas as pd
# 创建示例数据
data = {'name': ['John', 'Micheal', 'Sam', 'James'],
'age': [25, 28, 21, 33],
'gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)
# 更改列顺序
new_order = ['age', 'name', 'gender'] # 新的列顺序
df = df.reindex(columns=new_order)
# 打印结果
print(df)
上面的代码将打印如下结果:
age name gender
0 25 John M
1 28 Micheal M
2 21 Sam M
3 33 James M
如果您不想使用 reindex 方法,可以使用 loc 来更改列的顺序。下面的代码演示如何使用 loc 实现更改列顺序:
import pandas as pd
# 创建示例数据
data = {'name': ['John', 'Micheal', 'Sam', 'James'],
'age': [25, 28, 21, 33],
'gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)
# 更改列顺序
new_order = ['age', 'name', 'gender'] # 新的列顺序
df = df.loc[:, new_order]
# 打印结果
print(df)
上面的代码将打印如下结果:
age name gender
0 25 John M
1 28 Micheal M
2 21 Sam M
3 33 James M
除了使用 loc 或 reindex 方法外,您还可以通过指定列的新顺序列表来重排列。下面的代码演示如何通过指定新顺序列表来更改列顺序:
import pandas as pd
# 创建示例数据
data = {'name': ['John', 'Micheal', 'Sam', 'James'],
'age': [25, 28, 21, 33],
'gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)
# 指定新顺序列表
new_order = ['age', 'name', 'gender'] # 新的列顺序
df = df[new_order]
# 打印结果
print(df)
上面的代码将打印如下结果:
age name gender
0 25 John M
1 28 Micheal M
2 21 Sam M
3 33 James M
在熊猫中,通过 loc 或 reindex 方法或指定新顺序列表都可以更改列顺序。选择您喜欢的方法并使用它来重排数据框中的列。