Question: Is there a clever way of setting columns under conditions?for example:

```
import numpy as np
import pandas as pd
df = pd.DataFrame([[1,2,3],['a','b','c'],[4,5,6]])
df.columns = df.iloc[1,:]
1  a  b  c
0  1  2  3
1  a  b  c
2  4  5  6

```

then remove the row with values ['a','b','c'].

```
1  a  b  c
0  1  2  3
1  4  5  6

```

if there is a clever way such as set\_index() function to do so, then what if the columns are multiindexed?
many thanks!

Answer: 
We can using T here, more discussion on [github](https://github.com/pandas-dev/pandas/issues/5909) 

```
df.T.set_index([1]).T
Out[26]: 
1  a  b  c
0  1  2  3
2  4  5  6

```
How about just using `transpose()`,then doing any `index`-like manipulations, and then `transpose()` again back?
The `column` of the `dataframe` is just an `index` object