前回のおさらいと今回のテーマ
こんにちは!前回は、データ操作ライブラリPandasの基本について学びました。Pandasを使うことで、データフレームの操作やフィルタリング、集計などが非常に簡単に行えましたね。
今回は、Pandasを使って様々なデータ形式(CSV、Excel、JSONなど)を読み込んだり保存したりする方法を紹介します。データの読み込みと保存は、データ分析やAI開発の基本中の基本です。効率的にデータを扱うスキルを身につけていきましょう!
Pandasでデータを扱うメリット
Pandasは、様々なデータ形式に対応しており、以下のようなメリットがあります。
- シンプルなコマンド: データの読み込みと保存が1行のコードで可能。
- 幅広いファイル形式の対応: CSV、Excel、JSON、SQLなど、多くのファイル形式に対応。
- データフレーム操作との連携: 読み込んだデータをそのままPandasのデータフレームとして利用できるため、即座に分析や可視化が可能。
それでは、具体的な操作方法を見ていきましょう。
1. CSVファイルの読み込みと保存
CSVファイルの読み込み
CSV(Comma-Separated Values)ファイルは、データを表形式で保存するための最も一般的な形式です。Pandasでは、read_csv
関数を使って簡単に読み込むことができます。
import pandas as pd
# CSVファイルの読み込み
df = pd.read_csv('data.csv')
# データの表示
print(df.head())
- read_csv(): ファイルパスを指定してCSVファイルを読み込みます。
head()
メソッドでデータの最初の5行を確認できます。
オプションの設定
read_csv
には様々なオプションがあり、データのフォーマットに応じて調整可能です。
- header: 列名が含まれている行を指定(デフォルトは0)。
- index_col: 特定の列をインデックスとして使用する場合に指定。
- usecols: 読み込みたい列のみを指定。
- na_values: 欠損値として扱いたい値を指定。
# インデックスに 'ID' 列を使用し、欠損値として 'N/A' を指定
df = pd.read_csv('data.csv', index_col='ID', na_values='N/A')
CSVファイルの保存
データをCSV形式で保存するには、to_csv
関数を使用します。
# データフレームをCSVファイルとして保存
df.to_csv('output.csv', index=False)
- to_csv(): データフレームをCSVファイルに保存します。
- index=False: インデックスを含めずに保存したい場合に指定します。
2. Excelファイルの読み込みと保存
ExcelファイルもPandasで簡単に扱うことができます。read_excel
関数でExcelファイルを読み込みます。
Excelファイルの読み込み
# Excelファイルの読み込み
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# データの表示
print(df.head())
- read_excel(): Excelファイルを読み込む関数。
sheet_name
で特定のシートを指定します。
複数シートの読み込み
Excelファイルには複数のシートが含まれる場合があります。その場合、全てのシートを辞書形式で読み込むことも可能です。
# 全てのシートを辞書として読み込み
sheets = pd.read_excel('data.xlsx', sheet_name=None)
# シート名を指定してアクセス
sheet1_df = sheets['Sheet1']
Excelファイルの保存
データをExcel形式で保存するには、to_excel
関数を使用します。
# データフレームをExcelファイルとして保存
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)
- to_excel(): データフレームをExcelファイルに保存します。
- sheet_name: 保存するシートの名前を指定。
- index=False: インデックスを含めずに保存する場合に指定。
3. JSONファイルの読み込みと保存
JSON(JavaScript Object Notation)は、データの構造化に広く使用されるフォーマットです。Pandasではread_json
関数を使ってJSONファイルを読み込めます。
JSONファイルの読み込み
# JSONファイルの読み込み
df = pd.read_json('data.json')
# データの表示
print(df.head())
- read_json(): JSONファイルをデータフレームとして読み込みます。JSON形式のデータは、辞書のリストとして読み込まれることが多いです。
JSONファイルの保存
データフレームをJSON形式で保存するには、to_json
関数を使用します。
# データフレームをJSONファイルとして保存
df.to_json('output.json', orient='records', lines=True)
- to_json(): データフレームをJSON形式で保存します。
- orient=’records’: 各行を辞書として保存する設定。
- lines=True: JSONファイルを行ごとに保存する設定。
4. その他のファイル形式
Pandasは他にも様々なファイル形式に対応しています。
SQLデータベースの読み込みと保存
SQLデータベースに直接接続してデータを読み書きすることも可能です。例えば、SQLiteデータベースに接続する場合は、以下のように行います。
import sqlite3
# データベースに接続
conn = sqlite3.connect('database.db')
# SQLテーブルからデータを読み込み
df = pd.read_sql_query("SELECT * FROM table_name", conn)
# データフレームを新しいテーブルに保存
df.to_sql('new_table', conn, if_exists='replace', index=False)
# 接続を閉じる
conn.close()
- read_sql_query(): SQLクエリを実行してデータフレームに読み込みます。
- to_sql(): データフレームをSQLテーブルとして保存します。
HTMLファイルの読み込み
HTMLファイルからテーブルデータを取得することも可能です。
# HTMLファイルからテーブルデータを読み込み
tables = pd.read_html('https://example.com/data.html')
# 最初のテーブルをデータフレームとして表示
df = tables[0]
print(df.head())
- read_html(): HTMLページからテーブルを抽出し、データフレームとして読み込みます。
まとめ
今回は、Pandasを使った様々な形式のデータの読み込みと保存について解説しました。データ分析やAI開発において、データの入出力は基本中の基本です。CSV、Excel、JSON、SQLなど、様々な形式のデータに柔軟に対応できるPandasを活用することで、データの準備作業が効率的になります。
次回予告
次回は、Matplotlibによるデータ可視化について解説します。Pandasで読み込んだデータを視覚的に表現するために、Matplotlibを使ってグラフやプロットを作成する方法を学びましょう!
注釈
- CSV: Comma-Separated Valuesの略で、カンマ区切りでデータを保存する形式。
- JSON: JavaScript Object Notationの略で、データを構造化するために広く使われる形式。
- SQL: Structured Query Languageの略で、データベースからデータを取得したり操作するための言語。
コメント