pandasのread_csv()のusecolsで読み込む列(カラム)を指定する
pandasのread_csv()のusecolsで読み込む列(カラム)を指定できます。
例えば、下記のcsv.txtがあったとします。
$ cat csv.txt 20170101,34,44,66 20170102,78,44,66 20170103,99,44,66
下記がサンプルコードになります。
usecols=[0,1] と設定して、0,1列目を読み込むようにしています。
$ cat sample.py
#!/usr/bin/env python3
# coding: UTF-8
import pandas as pd
data = pd.read_csv('csv.txt',
usecols=[0,1],
names=('Date', 'Value'),
index_col='Date',
parse_dates=True)
print (data)
下記が実行結果になります。
$ ./sample.py
Value
Date
2017-01-01 34
2017-01-02 78
2017-01-03 99
index_colを指定する時は、カラム数分のnamesが指定されていないとエラーとなることに注意
index_colを指定する時は、カラム数分のnamesが指定されていないとエラーとなることに注意が必要です。
下記は、3列全てにnamesが指定されていないので、エラーとなります。
data = pd.read_csv('csv.txt',
names=('Date', 'Value'),
index_col='Date',
parse_dates=True)
全てにnamesで指定するのも手ですが、
下記のように、読み込むカラムを指定して、
全ての列にnamesでカラム名が指定されるように調整するのもありだと思います。
data = pd.read_csv('csv.txt',
usecols=[0,1],
names=('Date', 'Value'),
index_col='Date',
parse_dates=True)
これでエラーが出なくなります。
よくはまりがちなので注意しましょう。
