2017-07-06 27 views
1

変数 'lvl'は次のようなIntervalIndex型です。IntervalIndexで値を取得するにはどうすればよいですか?

lvl = IntervalIndex([(1.418, 1.69], (1.69, 6.696], (6.696, 7.217], (7.217, 7.845], (7.845, 10.11] ... (17.648, 18.199], (18.199, 19.315], (19.315, 20.16], (20.16, 22.471], (22.471, 25.009]] 
      closed='right', 
      dtype='interval[float64]') 

今、私はこのようないくつかの指標値追加してみました:

for each in val_list: 
    for k in range(len(lvl)): 
     lower_val = float(lvl[k][1:-1].split(',')[0]) 
     upper_val = float(lvl[k][1:-1].split(',')[-1]) 
     if each >=lower_val and each <= upper_val: 
      some_var_index.append(k) 

をしかし、エラーが...私に上げる:

{TypeError}'pandas._libs.interval.Interval' object is not subscriptable 

Iこれはどうすればよいですか?

答えて

1

オブジェクトが添字化されていないありがとうは、それが通常のリストのように動作しませんが、あなたはここで二回それをやって意味:

lower_val = float(lvl[k][1:-1].split(',')[0]) 
upper_val = float(lvl[k][1:-1].split(',')[-1]) 

二乗ブラケット[1:-1]で。代わりに、これらの2つの行は、この1行を使用します:

lower_val, upper_val = lvl[k].left, lvl[k].right 

あなたは良いはずです。

+0

ありがとうso sooo、Mkos! –

関連する問題