python - 我如何在 IntervalIndex 中获得一些值(value)?

标签 python pandas

变量 'lvl' 是 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 

我该怎么做? 谢谢

最佳答案

对象不可订阅意味着它的行为不像普通列表,但你在这里做了两次:

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

带有第二个方括号 [1:-1]。相反,这两行使用这一行:

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

你应该很好。

关于python - 我如何在 IntervalIndex 中获得一些值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44938196/

相关文章:

python - 如何将 Pandas 计算序列合并到 Pandas 数据框中

python - 将函数应用于 pandas 中分组数据的单列

python - 在 Python 中对 csv 进行排序 - 使用字符串分隔符拆分第一列,然后通过第二个元素排序,然后通过第一个元素排序

python - 即使在逐点向每个元素添加 1 后,numpy 数组中的最小元素仍为零

python - python中的简单交叉导入

python - 使用 PIP 在 Windows 上安装 PCL python

python - 如何提取 HTML 中元素的内容?

python - 如何在glade-3中显示2D numpy数组?

python - 使用 JSON 将数据从 Python 导出到 Tableau?

python - 仅适用第一个条件