Search code examples
pythonpandasdataframemulti-index

DataFrame make head on 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

I want to get all data of first two index values in the first index level. The desired result is:

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

Thanks


Solution

  • Do you mean this?

    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