Skip to content

Pandas DataFrameをCSVにエクスポートする方法: 包括的なガイド

Updated on

データアナリストやデータサイエンティストとして、適切な構成、操作、分析を必要とする大規模なデータセットで作業することがあります。Pythonにおいて、Pandasライブラリは、特にDataFrameを使用してデータを操作するための強力なツールを提供しています。データをクリーンアップし、DataFrameに適合するように構造化したら、次のステップは、適切なフォーマットで保存して共有することです。

表形式データの最も一般的なファイルフォーマットの1つは、CSV(comma-separated values)形式です。 この包括的なガイドでは、Pandas DataFramesをCSVファイルにエクスポートするプロセスを説明します。このタスクが初めての方やスキルアップしたい方、すべての情報を提供します。

コードなしでPython Pandas Dataframeからデータ視覚化を簡単に作成したいですか?

PyGWalkerは、視覚化を伴う探索的データ分析のためのPythonライブラリです。 PyGWalker (opens in a new tab)を使用すると、pandas dataframe(およびpolars dataframe)をTableauスタイルのユーザーインターフェイスに変換して視覚的な探索を行うことができます。Jupyter Notebookのデータ分析とデータ可視化のワークフローを簡単にすることができます。

PyGWalker for Data visualization (opens in a new tab)

なぜPandas DataFramesをCSVにエクスポートするのか?

DataFramesをCSVファイルにエクスポートすることによって、次のような多くの利点があります。

  • 効率的なストレージ: 他の形式(ExcelやJSONなど)に比べてCSVファイルはストレージスペースを最小限に抑えることができます。
  • 使いやすさ: CSVファイルは、表計算やテキストエディタを含むさまざまなソフトウェアアプリケーションで簡単に作成および読み取りができます。
  • 柔軟性: CSVファイルは、データワークフローの一部として、別々のデータベースやプログラミング言語で使用することができます。
  • 標準化: CSVファイルは、ユーザーや組織間でデータを共有したり交換したりするための標準フォーマットを提供します。

これらの利点により、CSVはデータの保管や共有に一般的に選択されるフォーマットとなっています。当記事では、ライブラリの組み込み.to_csv()メソッドを使用して、Pandas DataFramesをCSVファイルにエクスポートするプロセスをマスターできるようになるでしょう。

PandasでDataFrameをCSVにエクスポートする方法

.to_csv()メソッドは、DataFrameをCSVファイルにエクスポートするために使用されるPandasライブラリの最も一般的なメソッドの1つです。このメソッドには、エクスポートプロセスをカスタマイズするためのいくつかのパラメータがあります。

import pandas as pd 
 
# サンプルのDataFrameを作成
df = pd.DataFrame({"Name": ["John", "Jane", "Peter"], "Age": [25, 30, 28], "Salary": [60000, 80000, 75000]})
 
# DataFrameをCSVにエクスポートする
df.to_csv('sample.csv', index=False)

この例では、3つの列「Name」「Age」「Salary」から構成されるシンプルなDataFrameを作成しました。そして、.to_csv()メソッドを使用してDataFrameをCSVファイル「sample.csv」として保存しました。

indexパラメータは、CSVファイルにDataFrameのインデックスを含めるかどうかを指定します。デフォルトでは、このパラメーターはTrueに設定されています。Falseに設定すると、Pandasは保存されたCSVファイルからDataFrameのインデックスを除外します。

.to_csv()メソッドのパラメータ

indexパラメータの他に、.to_csv()メソッドには、次のようなパラメータがあります。

  • path_or_buf: DataFrameを保存するためのファイルパスまたはバッファを指定する文字列。このパラメータは必須です。
  • sep: CSVファイルで使用されるセパレータを指定する文字列。デフォルトでは、このパラメーターはカンマ(',')に設定されています。セミコロン(';')、タブ文字('\t')などの他のセパレータを指定することもできます。- header: boolean型または文字列のリスト。CSVファイルでヘッダー行を指定するために使用されます。デフォルトでは、このパラメータはTrueに設定され、ヘッダー行にはDataFrameの列名が含まれます。このパラメータをFalseに設定すると、CSVファイルにはヘッダーが含まれません。
  • index: DataFrameのインデックスをCSVファイルに含めるかどうかを指定する真偽値。デフォルトでは、このパラメータはTrueに設定されています。
  • mode: ファイル書き込みモードを指定する文字列。デフォルトでは、Pandasは書き込みモードに'w'を設定し、既存のファイルを上書きします。このパラメータを'a'に変更することで、既存のCSVファイルにDataFrameの内容を追加することができます。
  • decimal: CSVファイルで小数点として使用される文字を指定する文字列。デフォルトでは、このパラメータは'.'に設定されています。
  • date_format: CSVファイルに保存されるDataFrame内の日付時刻オブジェクトの書式を指定する文字列。デフォルトでは、このパラメータはNoneに設定されています。
  • quotechar: カンマ、引用符、改行などの特殊文字を含むフィールドを引用符で囲むのに使用される文字を指定する文字列。デフォルトでは、このパラメータは'"'に設定されています。

DataFrameをエクスポートする別の方法

PandasのDataFrameを.to_csv()メソッドを使用してCSVファイルにエクスポートすることは一般的で効率的な方法ですが、他にも利用可能なオプションがあります。いくつかの方法を紹介します。

Excelファイルへのエクスポート

pd.ExcelWriter()クラスを使用してExcelファイルを作成し、.to_excel()メソッドを使用してDataFrameをエクスポートすることができます。この方法の利点は、単一のExcelファイルに複数のワークシートを作成できることです。

# ExcelファイルとWriterオブジェクトを作成する
writer = pd.ExcelWriter('sample.xlsx')
 
# Excelにエクスポートする
df.to_excel(writer, sheet_name='Sheet1', index=False)
 
# Excelファイルを保存し、Writerオブジェクトを閉じる
writer.save()

JSONファイルへのエクスポート

.to_json()メソッドを使用してPandasのDataFrameをJSONファイルに保存することができます。このメソッドは、JSON形式でのDataFrameの文字列表現を作成します。

# DataFrameをJSON形式でエクスポートする
df.to_json('sample.json')

HDF5ファイルへのエクスポート

HDF5(階層型データフォーマット)は、大規模データセットを保存するために一般的に使用される高性能ファイルフォーマットです。Pandasは、DataFramesをHDF5に保存するためにHDFStoreクラスを提供しています。

# HDF5ファイルを作成し、DataFrameをストアする
store = pd.HDFStore('sample.h5')
store['df'] = df
 
# HDF5ファイルを閉じる
store.close()

SQLデータベースへのエクスポート

Pandasは、.to_sql()メソッドを使用してDataFrameを直接SQLデータベースにエクスポートすることができます。SQLAlchemy engineオブジェクトを作成する必要があります。

from sqlalchemy import create_engine
 
# データベースエンジンオブジェクトを作成する
engine = create_engine('sqlite:///sample.db', echo=False)
 
# SQLデータベースにエクスポートするdf.to_sql('sample', con=engine, if_exists='replace', index=False)の日本語訳:
 
```python
### ピクリング
 
最後に、Pandas DataFrameをピクル化されたオブジェクトとして保存することができます。これは、バイナリ形式でのDataFrameのシリアライズされた表現です。
 
``` python
# DataFrameをピクル化されたオブジェクトとしてエクスポートする
df.to_pickle('sample.pkl')

結論

まとめると、Pandas DataFrameをCSVファイルにエクスポートすることは、表形式のデータを保存して共有するための重要なタスクです。Pandasライブラリの.to_csv()メソッドを使うと、セパレーターの選択、タイムスタンプの追加、エンコーディングエラーのハンドリングなど、柔軟なオプションでDataFramesをCSV形式で保存することができます。

スキルアップするために、他のPythonチュートリアルもチェックしてみてください!