使用多索引作为列

时间:2015-03-31 11:34:43

标签: python pandas

我有一个数据框,其中索引是startend值的多索引。如果这些是常规列,我可以做

df["End"] - df["Start"]

但是,由于这些行是多索引,因此在尝试此操作时会收到错误KeyError: 'End'

我可以对从df.index.get_values()获取的值进行for循环,将每个startend添加到自己的列表中并从中创建数据帧,但这非常不受欢迎和缓慢。

1 个答案:

答案 0 :(得分:1)

Index.get_level_values将获得给定级别的索引值。

所以,在你的情况下:

df.index.get_level_values('End') - df.index.get_level_values('Start')