Combine duplicated columns within a DataFrame
I believe this does what you are after: df.groupby(lambda x:x, axis=1).sum() Alternatively, between 3% and 15% faster depending on the length of the df: df.groupby(df.columns, axis=1).sum() EDIT: To extend this beyond sums, use .agg() (short for .aggregate()): df.groupby(df.columns, axis=1).agg(numpy.max)