data<-data[c(8,1:7)]
Básicamente, mueva la última columna a la primera posición. ¿Cómo haría esto en Python usando solo índices de columna, preferiblemente en una sola línea?
Puedes usar .iloc[]
:
data = data.iloc[:, [7] + list(range(7))]
O: data = data[[7] + list(range(7))]
Solo ten en cuenta que
usar numpy.r_
Esto fue pensado para permitir la syntax tipo R
para el corte de matriz. De ahí el r_
Suponiendo que su dataframe se llama df
import numpy as np import pandas as pd df = df.iloc[:, np.r_[8, 1:7]]
data = data[[7,0,1,2,3,4,5,6]]
En caso de que tengas muchas columnas ..
data = data[list(df.columns.tolist()[-1]) + df.columns.tolist()[:-1]]