スポンサーリンク

pandasのindexを行番号を指定して取得

下記のように、pandasのindexを行番号を指定して取得できます。
ふとした時に意外と詰まったのでここに残したいと思います。

data.index[行番号]

csvデータを読み込んで、DataFrameのデータを作成します。

import pandas as pd

data = pd.read_csv('csv.txt',
				names=('date', 'val1'),
				index_col='date',
				parse_dates=True)

Seriesでindexを取得します。

print(data.index)

0番目のindexを取得します。
print(data.index[0])

先頭行のindexの日にちを取得します。
print(data.index[0].day)

スポンサーリンク

サンプルコード

例えば、下記のcsv.txtがあったとします。

$ cat csv.txt 
20160601010101,3
20160601010103,4
20160602010153,8

下記がサンプルコードになります。
$ 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)

print(data.index)
print(data.index[0])
print(data.index[0].day)

下記が実行結果になります。
$ ./sample.py 
DatetimeIndex(['2016-06-01 01:01:01', '2016-06-01 01:01:03',
               '2016-06-02 01:01:53'],
              dtype='datetime64[ns]', name='date', freq=None)
2016-06-01 01:01:01
1

スポンサーリンク