dataframe.groupby returns wrong multi level column index
It works as expected when the dataframe w/ multi level column index have 5 or more columns. Like below.
```
arrays = [
     ["x", "x", "x", "x","x"],
     ["y", "y", "y", "y","y"],
     ["bar1", "bar2", "baz1", "baz2","bar3"],
     ["w", "w", "w", "w","w"],
     ["z", "z", "z", "z","z"],
]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=["1","2","3","4","5"])
df = pd.DataFrame(np.random.randn(3, 5), index=["A", "B", "C"], columns=index)
print("before group by")
print(df)
df = df.groupby(df.columns.names[0:-1], axis=1).min()
print("after group by - GOOD")
print(df)

```
Returns expected results
```
before group by
1         x
2         y
3      bar1      bar2      baz1      baz2      bar3
4         w         w         w         w         w
5         z         z         z         z         z
A  1.508435  0.079822 -1.052383 -1.622857  0.738883
B -1.842490  0.432695 -0.089462 -0.146393  1.146759
C -2.109186  2.211993  1.911678 -0.399462 -0.817357
after group by - GOOD
1         x
2         y
3      bar1      bar2      bar3      baz1      baz2
4         w         w         w         w         w
A  1.508435  0.079822  0.738883 -1.052383 -1.622857
B -1.842490  0.432695  1.146759 -0.089462 -0.146393
C -2.109186  2.211993 -0.817357  1.911678 -0.399462
```

**BUT** it does not work when the dataframe has 4 or less columns
```
arrays = [
     ["x", "x", "x", "x"],
     ["y", "y", "y", "y"],
     ["bar1", "bar2", "baz1", "baz2"],
     ["w", "w", "w", "w"],
     ["z", "z", "z", "z"],
]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=["1","2","3","4","5"])
df = pd.DataFrame(np.random.randn(3, 4), index=["A", "B", "C"], columns=index)
print("before group by")
print(df)
df = df.groupby(df.columns.names[0:-1], axis=1).min()
print("after group by - BAD")
print(df)

```
**Returns unexpected results where multi level column index is gone and is replaced by column names**
```
before group by
1         x
2         y
3      bar1      bar2      baz1      baz2
4         w         w         w         w
5         z         z         z         z
A  0.760272  1.128186  0.185643  0.238319
B  0.711782  0.535957 -0.633338 -1.435772
C -1.297180 -0.721576  0.380401  1.407220
after group by - BAD
          1         2         3         4
A  0.760272  1.128186  0.185643  0.238319
B  0.711782  0.535957 -0.633338 -1.435772
C -1.297180 -0.721576  0.380401  1.407220

```