在 Pandas DataFrame 中将列移到前面

Fariba Laiq 2022年6月13日
在 Pandas DataFrame 中将列移到前面

Python 有一个名为 Pandas 的数据分析库。我们可以在 Python 中使用 Pandas 对 DataFrame 执行许多不同类型的操作。

本指南将解释重新排序 pandas DataFrame 中的列以使其移到前面的方法。

在 Pandas DataFrame 中将一列移到最前面

假设我们要重新排列 DataFrame 中列的位置。Pandas 提供了 insert()reindex() 方法,它们将单列移动到 Pandas DataFrame 的前面。

使用 pop()insert() 方法

这个想法是使用 pop() 方法删除我们想要移动到前面的列。然后通过指定要插入的位置,使用 insert() 方法将该列再次插入到 DataFrame 中。

在下面的代码中,我们有一个由学生记录组成的 DataFrame。我们的目标是将名称列移到前面。

首先,我们将使用 pop() 方法将其删除,pop() 方法将我们要删除的列标签作为参数并返回它。我们将返回的列存储在 col 中。

通过 insert() 方法,我们通过将列的位置定义为 loc=0(第一列位置)、列名和实际列)将列推回 DataFrame。

示例代码:

# Python 3.x
import pandas as pd

student = {
    "Course": ["Java", "Python", "C++", "Dart"],
    "Marks": [70, 80, 90, 60],
    "Age": [19, 20, 21, 19],
    "Name": ["Jhon", "Aliya", "Nate", "Amber"],
}
df = pd.DataFrame(student)
print(df)
col = df.pop("Name")
df.insert(loc=0, column="Name", value=col)
print(df)

输出:

$python3 Main.py

   Course  Marks  Age   Name
0    Java     70   19   Jhon
1  Python     80   20  Aliya
2     C++     90   21   Nate
3    Dart     60   19  Amber
    Name  Course  Marks  Age
0   Jhon    Java     70   19
1  Aliya  Python     80   20
2   Nate     C++     90   21
3  Amber    Dart     60   19

使用 reindex() 方法

我们可以通过重新索引它们来重新排列列。reindex() 方法对列进行重新排序。

该方法在 pandas.DataFrame 模块中可用。我们将按照我们想要的顺序提供列名列表,并将 listDataFrame 传递给 reindex() 方法以返回更新的 DataFrame。

示例代码:

# Python 3.x
import pandas as pd

student = {
    "Course": ["Java", "Python", "C++", "Dart"],
    "Marks": [70, 80, 90, 60],
    "Age": [19, 20, 21, 19],
    "Name": ["Jhon", "Aliya", "Nate", "Amber"],
}
df = pd.DataFrame(student)
print(df)
df = pd.DataFrame.reindex(df, columns=["Name", "Course", "Marks", "Age"])
print(df)

输出:

$python3 Main.py

   Course  Marks  Age   Name
0    Java     70   19   Jhon
1  Python     80   20  Aliya
2     C++     90   21   Nate
3    Dart     60   19  Amber
    Name  Course  Marks  Age
0   Jhon    Java     70   19
1  Aliya  Python     80   20
2   Nate     C++     90   21
3  Amber    Dart     60   19
作者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

相关文章 - Pandas DataFrame