Search code examples
pythonheadermulti-index

Delete first of two headers - Python


i have a dataframe that looks like this:

SP_removed

    Date    Removed
    Date    Ticker  Security
0   January 7, 2021     TIF     Tiffany & Co.
1   December 21, 2020   AIV     Apartment Investment & Management
2   October 12, 2020    NBL     Noble Energy
3   October 9, 2020     NaN     NaN
4   October 7, 2020     ETFC    E*TRADE Financial
...     ...     ...     ...
258     December 5, 2000    OI  Owens-Illinois
259     December 5, 2000    GRA     W.R. Grace
260     December 5, 2000    CCK     Crown Holdings
261     July 27, 2000   RAD     RiteAid
262     December 7, 1999    LDW     Laidlaw

263 rows × 3 columns

I want to delete the first header (Date and Removed), but everything i've tried so far didn't work.

Thanks!


Solution

  • Try to use droplevel() to get rid of the first row column names:

    df.columns = df.columns.droplevel()
    

    Example

    import pandas as pd
    import numpy as np
    header = pd.MultiIndex.from_product([['location1','location2'],
                                         ['S1','S2','S3']],
                                        names=['loc','S'])
    df = pd.DataFrame(np.random.randn(5, 6), 
                      index=['a','b','c','d','e'], 
                      columns=header)
    
    df.columns = df.columns.droplevel()
    df