Я узнал ответ.
g = g.reset_index()
print(g)
дает:
smoker day tip
size mean
0 No Fri 4.0 2.812500
1 No Sat 45.0 3.102889
2 No Sun 57.0 3.167895
3 No Thur 45.0 2.673778
4 Yes Fri 15.0 2.714000
5 Yes Sat 42.0 2.875476
6 Yes Sun 19.0 3.516842
7 Yes Thur 17.0 3.030000
Теперь g.column.values
дает:
array([('smoker', ''), ('day', ''), ('tip', 'size'), ('tip', 'mean')],
dtype=object)
Используя, понимание списка мыможет получить необходимые имена столбцов
g.columns = ['_'.join(e) if e[1] else ''.join(e) for e in g.columns.values]
print(g)
Это дает:
smoker day tip_size tip_mean
0 No Fri 4.0 2.812500
1 No Sat 45.0 3.102889
2 No Sun 57.0 3.167895
3 No Thur 45.0 2.673778
4 Yes Fri 15.0 2.714000
5 Yes Sat 42.0 2.875476
6 Yes Sun 19.0 3.516842
7 Yes Thur 17.0 3.030000