首页 > 解决方案 > DataFrame 在 multiIndex 上领先

问题描述

df = pd.DataFrame(data=[['A', 'B', 12], ['A', 'B', 143], ['C1', 'C1', 11], ['C1', 'C1', 11],['C1', 'C1', 11], ['C3', 'C4', 11]], columns=['first', 'secound', 'data'])

df.set_index(['first', 'secound'], inplace=True)

               data
first secound      
A     B          12
      B         143
C1    C1         11
      C1         11
      C1         11
C3    C4         11

我想获取first索引级别中前两个索引值的所有数据。期望的结果是:

               data
first secound      
A     B          12
      B         143
C1    C1         11
      C1         11
      C1         11

谢谢

标签: pythonpandasdataframemulti-index

解决方案


你是这个意思吗?

In [9]: df.loc[df.index.get_level_values(0).unique()[:2].tolist()]
Out[9]:
               data
first secound
A     B          12
      B         143
C1    C1         11
      C1         11
      C1         11

推荐阅读