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つの列を基準に柔軟に並べ替えを行うことができます。車名のアルファベット順や価格の安い順など、目的に応じてパラメータを調整して活用してください。
-
【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(販売台数
-
Python Pandasでデータフレームの列の値をX軸ラベルとして設定する方法
PythonのPandasでデータフレームの列の値をX軸ラベルとして設定するには、plot()メソッドの引数にxticksを指定します。これにより、データの値をそのまま目盛りラベルとして表示できるため、グラフがより読みやすくなります。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。Pandasを使って、column1というキーを持つデータフレームを作成します。plot()メソッドでデータフレームをプロットし、column1の値をX軸ラベルとして指定します。図を表示するには、show()メソッドを使用します。コード例import pandas as pd fro