Python 使列和顺序在数据帧中保持一致

Python 使列和顺序在数据帧中保持一致,python,pandas,dataframe,Python,Pandas,Dataframe,我正在寻找一种优雅的、python式的方法,使数据帧列保持一致。意思是: 确保主列表中的所有列都存在,如果没有,请添加一个空占位符列 确保列的顺序与主列表相同 我有下面的例子,但是否有一个内置的方法来实现相同的目标 import pandas as pd df1 = pd.DataFrame(data=[{'a':1,'b':32, 'c':32}]) print df1 b c e d a 0 32南南1 你可以使用这个方法。传入列名列表并指定'columns'。默认情况下,缺失条目的填充值

我正在寻找一种优雅的、python式的方法,使数据帧列保持一致。意思是:

  • 确保主列表中的所有列都存在,如果没有,请添加一个空占位符列
  • 确保列的顺序与主列表相同
  • 我有下面的例子,但是否有一个内置的方法来实现相同的目标

    import pandas as pd
    df1 = pd.DataFrame(data=[{'a':1,'b':32, 'c':32}])
    print df1
    
    b c e d a 0 32南南1 你可以使用这个方法。传入列名列表并指定
    'columns'
    。默认情况下,缺失条目的填充值为
    NaN

    >>> df1.reindex(column_master_list, axis='columns')
        b   c   e   d  a
    0  32  32 NaN NaN  1
    
    尝试
    df=df.reindex(columns=master\u columns)
    column_master_list = ['b', 'c', 'e', 'd', 'a']
    def get_dataframe_with_consistent_header(df, headers):
        for col in headers:
            if col not in df.columns:
                df[col] = pd.np.NaN
        return df[headers]
    
    print get_dataframe_with_consistent_header(df1, column_master_list)
    
    b c e d a 0 32 32 NaN NaN 1
    >>> df1.reindex(column_master_list, axis='columns')
        b   c   e   d  a
    0  32  32 NaN NaN  1