Следуя @jxstanford и @ tvt173, я написал быструю функцию, которая должна делать трюк, независимо от имен столбцов string / int:
def flatten_cols(df):
df.columns = [
'_'.join(tuple(map(str, t))).rstrip('_')
for t in df.columns.values
]
return df