Pandas⑥ (データフレーム/CSVファイル読み込み)

CSVファイルをデータフレームに読み込み

Pandas には、表形式のデータを DataFrameオブジェクト として読み込むための関数があります。

関数 内容
read_csv() カンマ区切りのファイルを読み込む。
read_table() タブ区切りのファイルを読み込む。

read_csvread_table は、データの区切り文字が異なるだけで、内部では同じ処理を使っています。

パフォーマンスに差はなく、引数の指定方法も同じです。

サンプルソース

CSVファイルデータフレームに読み込むサンプルソースは次の通りです。

[Google Colaboratory]

1
2
3
4
5
import pandas as pd

df = pd.read_csv("data.csv")

print(df) # データフレームを出力

読み込むCSVファイルは以下の通りです。

30日間の最高気温とその日の売上数がまとめられています。

data.csv (文字コードUTF-8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
最高気温,売上数
26,84
25,61
26,85
24,63
25,71
24,81
26,98
26,101
25,93
27,118
27,114
26,124
28,156
28,188
27,184
28,213
29,241
29,233
29,207
31,267
31,332
29,266
32,334
33,346
34,359
33,361
34,372
35,368
32,378
34,394

[実行結果]

CSVファイルデータフレームに読み込むことができました。

read_csv、read_tableのオプション

read_csvread_tableの主なオプションは以下の通りです。

オプション 内容
filepath_or_buffer 読み込み元のファイルパス、またはURLを指定。
sep 区切り文字。read_csvはデフォルトで ‘,’、read_tableはデフォルトで ‘\t’
delimiter sep の代わりに delimiter 引数でも区切り文字を指定可能。
デフォルトは None。
header ヘッダー行の行数を整数で指定。
デフォルトは ‘infer’。
names ヘッダー行をリストで指定。
デフォルトは None。
index_col 行のインデックスに用いる列番号。
デフォルトは None。
dtype 各列のデータ型。デフォルトは None。
例:{‘a’:np.float64, ‘b’:np.int32}
skiprows 先頭から読み込みをスキップする行数。
デフォルトは None。
skipfooter 末尾から読み込みをスキップする行数。
デフォルトは None。
nrows 読み込む行数。
デフォルトは None。
quotechar ダブルクォートなどでクォートされている場合のクォート文字。
デフォルトは ‘“‘
escapechar エスケープされている場合のエスケープ文字。
デフォルトは None。
comment コメント行の行頭文字を指定。指定した文字で始まる行は無視される。
デフォルトは None。
encoding 文字コード。’utf-8’、’cp932’、’shift_jis’、’euc_jp’などを指定。
デフォルトは None。