如何查询熊猫中的MultiIndex索引列值

如何查询熊猫中的MultiIndex索引列值,第1张

如何查询熊猫中的MultiIndex索引列值

要通过 MultiIndex 值查询 df ,例如 (A > 1.7)和(B <666)

In [536]: result_df = df.loc[(df.index.get_level_values('A') > 1.7) & (df.index.get_level_values('B') < 666)]In [537]: result_dfOut[537]:CA   B      3.3 222  43    333  595.5 333  56

因此,如果仍然需要,例如获取 “ A” 索引值:

In [538]: result_df.index.get_level_values('A')Out[538]: Index([3.3, 3.3, 5.5], dtype=object)

问题在于,在大数据帧中, 按索引 选择的性能比排序的常规行选择差10%。并且在重复的工作中,循环不断,延迟累积。参见示例:

In [558]: df = store.select(STORE_EXTENT_BURSTS_DF_KEY)In [559]: len(df)Out[559]: 12857In [560]: df.sort(inplace=True)In [561]: df_without_index = df.reset_index()In [562]: %timeit df.loc[(df.index.get_level_values('END_TIME') > 358200) & (df.index.get_level_values('START_TIME') < 361680)]1000 loops, best of 3: 562 µs per loopIn [563]: %timeit df_without_index[(df_without_index.END_TIME > 358200) & (df_without_index.START_TIME < 361680)]1000 loops, best of 3: 507 µs per loop


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5623431.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存