在Python中,我们可以使用Pandas DataFrame的reindex()函数或者loc[]方法来改变DataFrame列的顺序。
- 使用reindex()函数改变列的顺序
首先,需要先创建一个DataFrame示例:
import pandas as pd
data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'age': [28, 34, 29, 42],
'gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)
现在,我们假设想要改变DataFrame中的列顺序为 'gender', 'name', 'age'。
new_order = ['gender', 'name', 'age']
df = df.reindex(columns=new_order)
使用reindex()函数,我们传递一个新的列顺序list参数给columns,这样就能够改变DataFrame中列的顺序了。最后df就会按照新的顺序显示。输出结果为:
gender name age
0 M Tom 28
1 M Jack 34
2 M Steve 29
3 M Ricky 42
- 使用loc[]方法改变列的顺序
另一个改变Pandas DataFrame列顺序的方法是使用loc[]方法。
和reindex()函数不同,loc[]方法可以在一个语句中对每一列进行选择和重新排列。对于一个DataFrame示例,我们可以使用loc[]方法来选择并重新排列列。
df = df.loc[:, new_order]
我们传递一个新的列顺序list参数给loc[]方法,并且使用":"来选择所有行。最后df就会按照新的顺序显示。输出结果为:
gender name age
0 M Tom 28
1 M Jack 34
2 M Steve 29
3 M Ricky 42
示例代码完整可参考以下代码:
import pandas as pd
# 创建DataFrame示例
data = {'name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'age': [28, 34, 29, 42],
'gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)
# 将列顺序改变为'gender', 'name', 'age'。
new_order = ['gender', 'name', 'age']
df = df.reindex(columns=new_order)
# 或者使用loc[]方法
# df = df.loc[:, new_order]
# 输出结果
print(df)
输出结果为:
gender name age
0 M Tom 28
1 M Jack 34
2 M Steve 29
3 M Ricky 42
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中改变Pandas DataFrame列的顺序 - Python技术站