get_loc()でindexの値から行番号を取得する
get_loc()でindexの値から行番号を取得できます。
例えば、'2016-06-01 01:01:03'がindexの行番号を取得する場合です。
num = data.index.get_loc('2016-06-01 01:01:03')
行番号からDataFrameの値を取得できます。
print(data.val1[num])
indexの値を指定して、指定したindexの次の行の値を取得する場合です。
指定したindexの周辺の行を取得したい場合などに便利です。
print(data.val1[num + 1])
サンプルコード
例えば、下記のcsv.txtがあったとします。
$ cat csv.txt 20160601010101,10 20160601010103,20 20160602010153,30 20160603010153,40
下記がサンプルコードになります。
$ cat sample.py
#!/usr/bin/env python3
# coding: UTF-8
import pandas as pd
data = pd.read_csv('csv.txt',
names=('date', 'val1'),
index_col='date',
parse_dates=True)
num = data.index.get_loc('2016-06-01 01:01:03')
print(num)
print(data.val1[num])
print(data.val1[num + 1])
下記が実行結果になります。
$ ./sample.py 1 20 30
