在 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 模組中可用。我們將按照我們想要的順序提供列名列表,並將 list 和 DataFrame 傳遞給 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
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