比较多个熊猫数据框的列名

时间:2019-03-28 16:54:42

标签: python-3.x pandas loops

在下面的代码中,我创建了数据框列表。现在,我要检查dataframes列表中的所有数据框是否具有相同的列名(我只想比较标题,而不是值),如果不满足条件,则应该出错。

dataframes = []
list_of_files = os.listdir(os.path.join(folder_location, quarter, "inputs"))
for files in list_of_files:
    df = pd.read_excel(os.path.join(folder_location, quarter, "inputs", files), header=[0,1], sheetname= "Ratings Inputs", parse_cols ="B:AC", index_col=None).reset_index()
    df.columns = pd.MultiIndex.from_tuples([tuple(df.columns.names)]
                                       + list(df.columns)[1:])

    dataframes.append(df)

1 个答案:

答案 0 :(得分:0)

这不是最优雅的解决方案,但是它将带您到达那里:

np.all([sorted(dataframes[0].columns) == sorted(i.columns) for i in dataframes])

sorted既可以转换为列表,又可以确保它们不会因为顺序不同而失败