[pandas]DataFrameでデータ書き込み/保存/出力(to_csv)

pandasのDataFrame型におけるデータ書き込み/保存/出力の方法として、to_csvについて記載する。

データを整形したり、分析結果を確認した時、データの書き込みは必要となる。csvやtsvなどのテキストファイルからの定義するメソッドと使い方は似ているため、覚えやすいと思う。

Udemy >> 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

この記事を読んでわかること

  • csvファイルへの書き込み(to_csv)
  • テキストファイル(カンマ以外の区切り文字)への書き込み(to_csv+sepオプション)

先にまとめ

# csvファイルとして(ヘッダーあり)
DataFrame型.to_csv("ファイルパス", index=False)

# csvファイルとして(ヘッダーなし)
DataFrame型.to_csv("ファイルパス", index=False, header=False)

# テキストファイル(カンマ以外の区切り文字)として(ヘッダーあり)
DataFrame型.to_csv("ファイルパス", sep="区切り文字", index=False)

# テキストファイル(カンマ以外の区切り文字)として(ヘッダーなし)
DataFrame型.to_csv("ファイルパス", sep="区切り文字", index=False, header=False)

データ書き込み(保存)

CSVファイルとして

to_csvメソッドを使えば、名前の通りcsvとして書き出される。行のindexを付けたくない場合はindexオプションをFalseにする必要がある。個人的には行Indexを書き出すケースは少ないと思うので、ここでは行Indexは書き出さない。また文字コードはデフォルトでutf-8である。(encodingオプションで変更可能)

# 書き方
## ヘッダーをつける場合
DataFrame型.to_csv("ファイルパス", index=False)

## ヘッダーを付けない場合
DataFrame型.to_csv("ファイルパス", index=False, header=False)

# サンプル
import pandas as pd

list_data = [[1, 'apple', 100],[2, 'orange', 30],[3, 'lemon', 50]] 
df_list = pd.DataFrame(list_data, columns=["id","product","price"])
df_list.to_csv("data.csv", index=False)

## 以下のようなデータが保存される。(data.csv)
# id,product,price
# 1,apple,100
# 2,orange,30
# 3,lemon,50

Udemy >> Streamlit, Pandas, Pythonで学ぶ!データ分析の基礎とインタラクティブダッシュボード作成入門

テキストファイル(カンマ以外の区切り文字)として

上記と同じくto_csvを使い、sepオプションで区切り文字を指定すればよい。ちなみに\tはタブ区切り。

# 書き方
## ヘッダーをつける場合
DataFrame型.to_csv("ファイルパス", sep="区切り文字", index=False)

## ヘッダーを付けない場合
DataFrame型.to_csv("ファイルパス", sep="区切り文字", index=False, header=False)

# サンプル
import pandas as pd

list_data = [[1, 'apple', 100],[2, 'orange', 30],[3, 'lemon', 50]] 
df_list = pd.DataFrame(list_data, columns=["id","product","price"])
df_list.to_csv("data.csv", sep='\t', index=False)

## 以下のようなデータが保存される。(data.csv)
# id	product	price
# 1	apple	100
# 2	orange	30
# 3	lemon	50

Udemy >> 【世界で37万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜