Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python・PandasでDataFrameの列の順序を逆にする方法

PandasのDataFrameで列の順序を逆にするには、dataframe.columnsに対してスライス[::-1]を適用します。この方法では、元のDataFrameは変更されず、列が逆順に並べ替えられた新しいDataFrameが返されます。

基本構文

dataFrame[dataFrame.columns[::-1]]

手順1:必要なライブラリをインポートする

まず、pandasをインポートします。

import pandas as pd

手順2:4列のDataFrameを作成する

ここでは、「Car」「Cubic_Capacity」「Reg_Price」「Units_Sold」の4つの列を持つDataFrameを作成します。

dataFrame = pd.DataFrame({
   "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
   "Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
   "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
   "Units_Sold": [100, 120, 150, 110, 200, 250]
})

手順3:列の順序を逆にする

columns[::-1]により列ラベルを逆順にし、それを使って新しいDataFrameを作成します。

df = dataFrame[dataFrame.columns[::-1]]

完全なサンプルコード

import pandas as pd

# DataFrameを作成
dataFrame = pd.DataFrame({
   "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
   "Cubic_Capacity": [2000, 1800, 1500, 2500, 2200, 3000],
   "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000],
   "Units_Sold": [100, 120, 150, 110, 200, 250]
})

print("DataFrame ...\n", dataFrame)

# 列の順序を逆にする
df = dataFrame[dataFrame.columns[::-1]]
print("\nReversed DataFrame....\n", df)

実行結果

上記のコードを実行すると、次の出力が得られます。

DataFrame ...
        Car  Cubic_Capacity  Reg_Price  Units_Sold
0       BMW            2000       7000         100
1      Lexus            1800       1500         120
2      Tesla            1500       5000         150
3    Mustang            2500       8000         110
4   Mercedes            2200       9000         200
5     Jaguar            3000       6000         250

Reversed DataFrame....
   Units_Sold  Reg_Price  Cubic_Capacity       Car
0         100       7000            2000       BMW
1         120       1500            1800     Lexus
2         150       5000            1500     Tesla
3         110       8000            2500   Mustang
4         200       9000            2200  Mercedes
5         250       6000            3000    Jaguar

補足:ilocを使った代替方法

位置ベースのインデックス指定が可能なilocを使っても、同じ結果が得られます。行はそのまま、列のみを逆順にする場合は以下のように書きます。

df = dataFrame.iloc[:, ::-1]

どちらの方法でも元のDataFrameは変更されないため、必要に応じて結果を別の変数に代入して利用してください。

  1. Python Pandas入門:query()メソッドでDataFrameの列をクエリ(条件抽出)する方法

    PandasのDataFrameで列をクエリ(条件による絞り込み)を行うには、query()メソッドを使用します。query()は、文字列形式の条件式を渡すだけで直感的にレコードをフィルタリングできる便利な機能です。 サンプルDataFrameの作成 まず、商品名・期首在庫・期末在庫を持つDataFrameを作成してみましょう。 import pandas as pd dataFrame = pd.DataFrame({ Product: [SmartTV, PenDrive, Speaker, Earphone], Opening_Stock: [300, 700, 1

  2. 【Python・Pandas】データフレームの特定の列の合計値を取得する方法

    データ分析をしていると、データフレーム(DataFrame)の中から特定の列だけの合計値を求めたい場面によく出会います。そんなときに便利なのが、Pandasのsum関数です。 合計を計算したい列をsum関数に渡すだけで、その列の合計値を簡単に取得できます。さらに、axis引数を指定すれば、列方向・行方向のどちらで集計するかも自由に制御可能です。 それでは、具体的なコード例を見ていきましょう。 サンプルコード import pandas as pd my_data = { Name: pd.Series([Tom, Jane, Vin, Eve, Will]), Age: p