una - seleccionar columnas pandas python
Redefinir el índice en un objeto Pandas DataFrame (2)
¿Por qué no simplemente set_index
método set_index
?
In : col = [''a'',''b'',''c'']
In : data = DataFrame([[1,2,3],[10,11,12],[20,21,22]],columns=col)
In : data
Out:
a b c
0 1 2 3
1 10 11 12
2 20 21 22
In : data2 = data.set_index(''a'')
In : data2
Out:
b c
a
1 2 3
10 11 12
20 21 22
Estoy intentando volver a indexar un objeto DataFrame
pandas, como tal,
From:
a b c
0 1 2 3
1 10 11 12
2 20 21 22
To :
b c
1 2 3
10 11 12
20 21 22
Me refiero a esto como se muestra a continuación y recibo una respuesta incorrecta. ¿Alguna pista sobre cómo hacer esto?
>>> col = [''a'',''b'',''c'']
>>> data = DataFrame([[1,2,3],[10,11,12],[20,21,22]],columns=col)
>>> data
a b c
0 1 2 3
1 10 11 12
2 20 21 22
>>> idx2 = data.a.values
>>> idx2
array([ 1, 10, 20], dtype=int64)
>>> data2 = DataFrame(data,index=idx2,columns=col[1:])
>>> data2
b c
1 11 12
10 NaN NaN
20 NaN NaN
¿Alguna idea de por qué está pasando esto?
Si no quiere ''a'' en el índice
En:
col = [''a'',''b'',''c'']
data = DataFrame([[1,2,3],[10,11,12],[20,21,22]],columns=col)
data
Fuera:
a b c
0 1 2 3
1 10 11 12
2 20 21 22
En:
data2 = data.set_index(''a'')
Fuera:
b c
a
1 2 3
10 11 12
20 21 22
En:
data2.index.name = None
Fuera:
b c
1 2 3
10 11 12
20 21 22