如何使用iloc [:,0]将第一列设置为索引

时间:2019-06-04 17:37:33

标签: python pandas dataframe indexing

我有一个数据框,想使用iloc [:,0]将第一列设置为索引,但是出了点问题。

我应用iloc [:,0]将第一列设置为索引。

data12 = pd.DataFrame({"b":["a","h","r","e","a"],
                       "a":range(5)})
data2 = data12.set_index(data12.iloc[:,0])
data2

    b   a
b       
a   a   0
h   h   1
r   r   2
e   e   3
a   a   4


我想得到以下结果。

    a
b   
a   0
h   1
r   2
e   3
a   4

非常感谢

1 个答案:

答案 0 :(得分:1)

使用系列名称,而不是系列本身。

data12.set_index(data12.iloc[:, 0].name) # or data12.columns[0]

   a  
b     
a  0  
h  1  
r  2  
e  3  
a  4 

摘自set_index的文档

  

keys 此参数可以是单个列键,长度与调用DataFrame相同的单个数组,也可以是包含列键和数组的任意组合的列表。在这里,“数组”包含Series,Index和np.ndarray。

如果要设置索引并且不再将各个Series包含在DataFrame的列中,则需要传递key,而不是array