Pandas DataFrame で列を前面に移動
Python には、Pandas
と呼ばれるデータ分析ライブラリがあります。Python の Pandas を使用して、DataFrame でさまざまな種類の操作を実行できます。
このガイドでは、パンダの DataFrame の列を前に移動するように並べ替える方法について説明します。
Pandas DataFrame で列を前面に移動する
DataFrame 内の列の位置を再配置したいとします。Pandas は、単一の列を Pandas DataFrame の前に移動する insert()
および reindex()
メソッドを提供します。
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