pandas~ファイル編~
前書き
久しぶりの更新となりました。今回は、ファイル操作について説明します。
csvファイルで保存
pandasは、to_csv()を使うことにより、DataFrame型やSeries型をcsvファイルとして保存できます。
- pd.to_csv(file): file引数には、保存したい場所へのパスとファイル名を与えます。
# to_csv.py import pandas as pd df = pd.DataFrame([['一', '二', '三'], ['one', 'two', 'three'], ['eins', 'zwei', 'drei']], index=['日本語', '英語', 'ドイツ語'], columns=[1, 2, 3]) print(df) df.to_csv('number.csv') # 同じディレクトリにnumber.csvファイルが作成される
# 実行結果 1 2 3 日本語 一 二 三 英語 one two three ドイツ語 eins zwei drei
上記の実行結果より、csvファイルとしてデータが保存できたことがわかります。
to_csvのオプション
to_csvには、様々な引数があります。ここでは、よく使うものを紹介します。
引数 | 説明 |
---|---|
index | インデックスを保存するかを真偽値で指定。デフォルトはTrue。 |
header | 列名を保存するかを真偽値で指定。デフォルトはTrue。 |
csvファイルの読み込み
pandasでcsvファイルを読み込むには、read_csv()を使います。
# read_csv.py import pandas as pd df_1 = pd.read_csv('number.csv') print(df_1) df_2 = pd.read_csv('number.csv', index_col=0, header=0) # index_colとheaderを指定 print(df_2)
# 実行結果 # print(df_1) Unnamed: 0 1 2 3 0 日本語 一 二 三 1 英語 one two three 2 ドイツ語 eins zwei drei # print(df_2) 1 2 3 日本語 一 二 三 英語 one two three ドイツ語 eins zwei drei
また、他のcsvファイルを試したい場合は気象庁などからダウンロードして確認してみてください。
read_csvのオプション
read_csvは、様々な引数があります。ここでは、よく使うものを紹介します。
引数 | 説明 |
---|---|
sep | 各行をフィールドに分割するのに用いる文字列や正規表現。csvファイルなら必要ありません。例えば、tsvファイルなら'\t'を指定します。 |
header | 列名として使う行の番号。デフォルトは0。ヘッダがない場合はNoneを指定。 |
index_col | インデックスとして使う列の番号。デフォルトはNone |
skiprows | ファイルの先頭から無視する行数。デフォルトは0。 |
nrows | ファイルの先頭で読み込む行数。 |
encoding | Unicodeとして用いる文字コード。デフォルトは'utf-8'。 |
引数の補足説明をします。
例えば、skiprows=10・nrows=10とした場合は、先頭から10行飛ばしたところから10行分読み込まれます。
また、日本のサイトが提供するcsvファイルは、shift-jis形式が多いのでencodingを指定する必要があるかもしれません。上記の気象庁のサイトでは、encoding='shift-jis'と指定する必要があります。
あとがき
お疲れ様でした。これで pandasについての説明は、簡単にですが一通り終わりです。次回は、内包表記について説明します。