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

PythonでCSVファイルを特定の列(カラム)を基準に並べ替える方法【pandas sort_values】

CSVファイルを単一の列(カラム)を基準に並べ替えたい場合は、pandasのsort_values()メソッドを使います。並べ替えの基準となる列名をsort_values()メソッドに指定するだけで、簡単にデータをソートできます。

CSVファイルを読み込む

まず、対象となるCSVファイル「SalesRecords.csv」をDataFrameとして読み込みます。

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")

特定の列を基準に並べ替える

「Car」列で並べ替える場合

dataFrame.sort_values("Car", axis=0, ascending=True, inplace=True, na_position='first')

「Reg_Price」列で並べ替える場合

dataFrame.sort_values("Reg_Price", axis=0, ascending=True, inplace=True, na_position='first')

主なパラメータの意味

  • axis=0:行方向(縦方向)に並べ替えます。
  • ascending=True:昇順で並べ替えます。降順にしたい場合はFalseを指定します。
  • inplace=True:元のDataFrameを直接書き換えます。Falseの場合は新しいDataFrameが返されます。
  • na_position='first':欠損値(NaN)を先頭に配置します。末尾に配置したい場合は'last'を指定します。

サンプルコード全体

以下に完全なコード例を示します。

import pandas as pd

# 入力用CSVファイルをDataFrameとして読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords.csv")
print("\n入力CSVファイル = \n", dataFrame)

# Car列を基準に並べ替え
dataFrame.sort_values("Car", axis=0, ascending=True, inplace=True, na_position='first')

print("\n並べ替え後のCSVファイル(車名順) = \n", dataFrame)

# Reg_Price列を基準に並べ替え
dataFrame.sort_values("Reg_Price", axis=0, ascending=True, inplace=True, na_position='first')

print("\n並べ替え後のCSVファイル(登録価格順) = \n", dataFrame)

実行結果

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

Input CSV file =
          Car   Date_of_Purchase   Reg_Price
0         BMW        10/10/2020        1000
1        Audi        10/12/2020         750
2       Lexus        10/17/2020        1250
3      Jaguar        10/16/2020        1500
4     Mustang        10/19/2020        1100
5 Lamborghini        10/22/2020        1000

Sorted CSV file (according to Car Names) =
          Car   Date_of_Purchase   Reg_Price
1        Audi        10/12/2020         750
0         BMW        10/10/2020        1000
3      Jaguar        10/16/2020        1500
5 Lamborghini        10/22/2020        1000
2       Lexus        10/17/2020        1250
4     Mustang        10/19/2020        1100

Sorted CSV file (according to Registration Price) =
          Car   Date_of_Purchase   Reg_Price
1        Audi        10/12/2020         750
0         BMW        10/10/2020        1000
5 Lamborghini        10/22/2020        1000
4     Mustang        10/19/2020        1100
2       Lexus        10/17/2020        1250
3      Jaguar        10/16/2020        1500

このように、sort_values()メソッドを使えば、CSVデータを読み込んだDataFrameに対して、任意の1つの列を基準に柔軟に並べ替えを行うことができます。車名のアルファベット順や価格の安い順など、目的に応じてパラメータを調整して活用してください。

  1. 【Python】複数のCSVファイルを1つのPandasデータフレームに結合する方法

    複数のCSVファイルを1つのデータフレームにまとめる基本手法 複数のCSVファイルを1つのPandasデータフレームに結合したい場合、read_csv()とpd.concat()を組み合わせるのが最もシンプルで効率的な方法です。まずは、必要なPandasライブラリをインポートしましょう。ここでは、エイリアスとして「pd」を設定します。 import pandas as pd サンプルとなるCSVファイル 今回は、以下の2つのCSVファイルを例に説明します。 Sales1.csv Sales2.csv どちらのファイルにも「Car(車種)」「Place(地域)」「UnitsSold(販売台数

  2. Python Pandasでデータフレームの列の値をX軸ラベルとして設定する方法

    PythonのPandasでデータフレームの列の値をX軸ラベルとして設定するには、plot()メソッドの引数にxticksを指定します。これにより、データの値をそのまま目盛りラベルとして表示できるため、グラフがより読みやすくなります。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。Pandasを使って、column1というキーを持つデータフレームを作成します。plot()メソッドでデータフレームをプロットし、column1の値をX軸ラベルとして指定します。図を表示するには、show()メソッドを使用します。コード例import pandas as pd fro