как установить индекс первого столбца с помощью iloc [:, 0] - PullRequest
1 голос
/ 04 июня 2019

У меня есть фрейм данных, и я хочу установить индекс первого столбца, используя 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 Ответ

1 голос
/ 04 июня 2019

Используйте название серии, а не саму серию.

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.

Вам нужно передать key, а не array, если вы хотите установить индекс и иметь соответствующий номер Seriesбольше включается как столбец DataFrame.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...