CSV、Excel、JSON、Pickle:Pandasで自在にデータの入出力
データの読み込み
Pandasには、様々な形式のデータをファイルから読み込むための関数があります。代表的なものは以下の通りです。
read_pickle
: Pickle形式のデータを読み込みます。read_json
: JSON形式のデータを読み込みます。read_excel
: Excelファイルを読み込みます。read_csv
: CSVファイルを読み込みます。
これらの関数は、ファイルパスを引数として渡すことで、データを読み込み、DataFrame形式に変換します。
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv('data.csv')
# Excelファイルを読み込む
df = pd.read_excel('data.xlsx')
# JSON形式のデータを読み込む
df = pd.read_json('data.json')
# Pickle形式のデータを読み込む
df = pd.read_pickle('data.pkl')
Pandasで読み込んだデータを、別の形式のファイルに書き出すこともできます。よく使用される書き込み処理は以下の通りです。
to_pickle
: DataFrameをPickle形式のデータとして書き込みます。to_json
: DataFrameをJSON形式のデータとして書き込みます。to_excel
: DataFrameをExcelファイルに書き込みます。to_csv
: DataFrameをCSVファイルに書き込みます。
これらの関数には、DataFrameオブジェクトと書き込み先のファイルパスを引数として渡します。
# DataFrameをCSVファイルに書き込む
df.to_csv('data.csv')
# DataFrameをExcelファイルに書き込む
df.to_excel('data.xlsx')
# DataFrameをJSON形式のデータとして書き込む
df.to_json('data.json')
# DataFrameをPickle形式のデータとして書き込む
df.to_pickle('data.pkl')
Pandasには、上記以外にも様々な入出力処理が用意されています。例えば、以下のような処理が可能です。
- データフレームの一部を切り取って書き出す
- 特定の行のみを読み込む
- 特定の列のみを読み込む
これらの処理は、オプション引数やメソッドを用いることで実行できます。詳細は、Pandasのドキュメントを参照してください。
- データの入出力処理を行う際には、ファイルパスやデータ形式に誤りがないように注意する必要があります。
- 入出力処理のオプションやメソッドは、Pandasのバージョンによって異なる場合があります。
- Pandasで読み書きできるファイル形式は、上記以外にも多数あります。
CSVファイルの読み込みと書き込み
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv('data.csv')
# データを確認する
print(df.head())
# 特定の列のみを読み込む
df_filtered = df[['name', 'age']]
# データフレームの一部を切り取って書き出す
df_filtered.to_csv('filtered_data.csv')
Excelファイルの読み込みと書き込み
import pandas as pd
# Excelファイルを読み込む
df = pd.read_excel('data.xlsx')
# データを確認する
print(df.head())
# 特定の行のみを読み込む
df_filtered = df[df['age'] > 20]
# データフレームの一部を切り取って書き出す
df_filtered.to_excel('filtered_data.xlsx')
このコードは、data.xlsx
という名前のExcelファイルを読み込み、age
が20歳以上の行のみを含む新しいExcelファイルfiltered_data.xlsx
を作成します。
JSON形式のデータの読み込みと書き込み
import pandas as pd
import json
# JSON形式のデータを読み込む
with open('data.json', 'r') as f:
data = json.load(f)
df = pd.DataFrame(data)
# データを確認する
print(df.head())
# 特定の列のみを読み込む
df_filtered = df[['name', 'age']]
# データフレームをJSON形式のデータとして書き込む
with open('filtered_data.json', 'w') as f:
json.dump(df_filtered.to_dict(), f)
このコードは、data.json
という名前のJSONファイルを読み込み、name
とage
という列のみを含む新しいJSONファイルfiltered_data.json
を作成します。
import pandas as pd
# Pickle形式のデータを読み込む
df = pd.read_pickle('data.pkl')
# データを確認する
print(df.head())
# 特定の行のみを読み込む
df_filtered = df[df['age'] > 20]
# データフレームをPickle形式のデータとして書き込む
df_filtered.to_pickle('filtered_data.pkl')
- どのような文脈で「Input/output」を使用していますか?
- プログラミング? データ分析? ハードウェア? それとも別の分野?
- 「Input/output」のどのような側面を代替したいですか?
- 動詞としての意味(入力/出力する)? 名詞としての意味(入力装置/出力装置)? それとも概念としての意味(データの送受信)?
- どのようなニュアンスや印象を与えたいですか?
- フォーマルな表現? カジュアルな表現? 専門的な表現? それとも分かりやすい表現?
以下は、いくつかの一般的な代替表現の例です。
動詞
- データを入力/出力する -> データを転送する、データのやり取りを行う、データを読み書きする、データを取り込む/放出する
- 入力/出力する -> 送受信する、やり取りする、読み込む/書き出す、取り込む/放出する、注入/抽出する、フィードイン/フィードアウトする
名詞
- データの入力/出力 -> データ転送、データのやり取り、データの読み書き、データの取り込み/放出
- 入力装置/出力装置 -> 入出力デバイス、インターフェース、ポート、端子
- データの送受信 -> 情報のやり取り、データフロー、データ通信、データ交換