スポンサーリンク

idxmax() idxmin()で最大値と最小値のindexを取得

idxmax() idxmin()で最大値と最小値のindexを取得できます。

まずは、indexをつけてpandasのデータを作ります。

import pandas as pd

data = pd.read_csv('csv.txt',
				names=('id', 'val1', 'val2'),
				index_col='id')

pandasの列毎に最大値と最小値のindexを取得します。

print(data.idxmax())
print(data.idxmin())

pandasの列を指定して、最大値と最小値のindexを取得します。
print(data['val1'].idxmax())
print(data['val2'].idxmin())

スライスで行を指定して、最大値と最小値のindexを取得します。

print(data[1:3]['val1'].idxmax())
print(data[1:3]['val2'].idxmin())

スポンサーリンク

サンプルコード

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

$ cat csv.txt 
id001,1,4
id002,5,2
id003,2,9
id004,7,10

下記がサンプルコードになります。
$ cat sample.py 
#!/usr/bin/env python3
# coding: UTF-8

import pandas as pd

data = pd.read_csv('csv.txt',
				names=('id', 'val1', 'val2'),
				index_col='id')

print(data.idxmax())
print(data.idxmin())
print(data['val1'].idxmax())
print(data['val2'].idxmin())
print(data[1:3]['val1'].idxmax())
print(data[1:3]['val2'].idxmin())

下記が実行結果になります。
$ ./sample.py 
val1    id004
val2    id004
dtype: object
val1    id001
val2    id002
dtype: object
id004
id002
id002
id002

スポンサーリンク