スポンサーリンク

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

スポンサーリンク