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

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

複数のCSVファイルを1つのデータフレームにまとめる基本手法

複数のCSVファイルを1つのPandasデータフレームに結合したい場合、read_csv()pd.concat()を組み合わせるのが最もシンプルで効率的な方法です。まずは、必要なPandasライブラリをインポートしましょう。ここでは、エイリアスとして「pd」を設定します。

import pandas as pd

サンプルとなるCSVファイル

今回は、以下の2つのCSVファイルを例に説明します。

Sales1.csv

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

Sales2.csv

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

どちらのファイルにも「Car(車種)」「Place(地域)」「UnitsSold(販売台数)」という同じ列構造のデータが格納されています。

ファイルパスを文字列として指定する

次に、各CSVファイルのパスを文字列として変数に格納します。ここでは、両方のファイルがデスクトップ上にあるものとします。

file1 = "C:\\Users\\amit_\\Desktop\\sales1.csv"
file2 = "C:\\Users\\amit_\\Desktop\\sales2.csv"

pd.concat()でCSVファイルを結合する

続いて、2つのCSVファイルを読み込んで結合します。map(pd.read_csv, [file1, file2])によってリスト内の各ファイルが順番にデータフレームとして読み込まれ、pd.concat()がそれらを縦方向に連結します。

さらに、ignore_index=Trueを指定することで、元のファイルごとのインデックスが破棄され、0から連番で振り直されます。これにより、重複したインデックスによる混乱を防げます。

dataFrame = pd.concat(
   map(pd.read_csv, [file1, file2]), ignore_index=True)

完全なサンプルコード

以下が、ここまでの手順をまとめた完全なコード例です。

import pandas as pd

file1 = "C:\\Users\\amit_\\Desktop\\sales1.csv"
file2 = "C:\\Users\\amit_\\Desktop\\sales2.csv"

print("複数のCSVファイルをマージしています...")

# マージ処理
 dataFrame = pd.concat(
   map(pd.read_csv, [file1, file2]), ignore_index=True)
print(dataFrame)

実行結果

このコードを実行すると、2つのファイルのデータが1つのデータフレームに統合され、以下のような出力が得られます。

          Car       Place   UnitsSold
0        Audi   Bangalore          80
1     Porsche      Mumbai         110
2  RollsRoyce        Pune         100
3         BMW        Delhi          95
4    Mercedes   Hyderabad          80
5  Lamborgini  Chandigarh          80

出力を見ると、Sales1.csvの3行分(インデックス0〜2)とSales2.csvの3行分(インデックス3〜5)が、1つのデータフレームにきれいに連結されていることが確認できます。

応用:多数のCSVファイルを一括で結合するには

結合したいファイルが数十個以上ある場合は、globモジュールを使うと便利です。特定のフォルダ内にあるすべてのCSVファイルをワイルドカードで取得し、同様の方法で一括結合できます。

import glob
import pandas as pd

# フォルダ内のすべてのCSVファイルを取得
files = glob.glob("C:/Users/amit_/Desktop/sales/*.csv")

# 一括で読み込んで結合
dataFrame = pd.concat(
   map(pd.read_csv, files), ignore_index=True)
print(dataFrame)

この方法なら、ファイル名を個別に指定する必要がなく、新しいCSVファイルが追加されても自動的に結合対象に含まれるため、保守性の高いコードになります。


  1. ExcelでCSVファイルを結合する2つの簡単な方法【コマンドプロンプト・Power Query】

    CSVファイル(カンマ区切り値ファイル)は、表形式のデータを保存できるテキスト形式のファイルです。メモ帳などのテキストエディタや、Microsoft Excelのような表計算ソフトで開くことができます。CSVファイルは、異なるソフトウェア間でデータをやり取りする際によく利用されています。複数のCSVファイルを結合(マージ)することで、1つにまとめることも可能です。この記事では、ExcelでCSVファイルを結合する2つの簡単な方法をわかりやすく解説します。シンプルかつ手軽にCSVファイルをまとめたい方にとって、きっと役立つ内容となっています。 説明を分かりやすくするため、T20ワールドカップに出

  2. Excelで複数のCSVファイルを1つのワークブックにまとめる3つの簡単な方法

    Excelは、大量のデータを扱う際に最も広く活用されているツールです。表計算から分析まで多彩な作業をこなせる万能ソフトですが、本記事では複数のCSVファイルを1つのExcelワークブックに結合する方法を、初心者にもわかりやすく解説します。 Excelで複数のCSVファイルを1つのワークブックに結合する3つの方法 CSVとは「Comma Separated Values(カンマ区切り値)」の略で、データを表形式で保存できる軽量なファイル形式です。テキストベースのため、パソコンのストレージ容量をほとんど消費しないのもメリットです。ここでは、デスクトップ上にあるCSVファイル2つが入ったフォルダを例