在 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