スポンサーリンク
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)
これでエラーが出なくなります。
よくはまりがちなので注意しましょう。
スポンサーリンク