He hecho algunos buscando la respuesta a esta pregunta, pero todo lo que puedo averiguar es este:

df[df.columns[len(df.columns)-1]]

que me parece unweildy, y onu-python (y lento?).

¿Cuál es la forma más fácil para seleccionar los datos de la última columna en un pandas dataframe sin especificar el nombre de la columna?

InformationsquelleAutor Nate | 2016-10-20

6 Comentarios

  1. 84

    Uso iloc y seleccione todas las filas (:) en contra de la última columna (-1):

    df.iloc[:,-1]
    • Traté de hacer eso, y tengo un error que dice «demasiados indizadores»
  2. 15

    Algo similar a su tentativa original, pero más Python, es el uso de Python estándar negativo de indización de la convención de la cuenta atrás de la final:

    df[df.columns[-1]]
  3. 2
    df.T.iloc[-1]

    df.T.tail(1)

    pd.Series(df.values[:, -1], name=df.columns[-1])
    • No veo ningún valor de la construcción de la Serie explícitamente fuera de la numpy valores de extracción en comparación con una llamada directa a iloc
    • Hay muchas maneras de hacer esto. Yo simplemente estaba tratando de volcar un montón de abajo. Es cierto que la tercera opción es la más débil.
  4. 2

    La pregunta es: ¿cómo seleccionar la última columna de un dataframe ?
    Appart @piRSquared, ninguno de responder a la pregunta.

    la forma más sencilla de obtener un dataframe con la última columna es:

    df.iloc[ :, -1:]
  5. 1

    Esta es otra manera de hacerlo. Creo que tal vez un poco más general:

    df.ix[:,-1]
    • En este caso, su respuesta no es recomendable porque la pregunta se le pide explícitamente para el el último columna de índice basado en la ubicación. ix mezclas de etiqueta y el índice de ubicación de descriptor de acceso. Consulte aquí para más.
    • De hecho, además, ix está en desuso por ahora.
  6. 0

    Estas son algunas de las cosas que le ayudará en la comprensión de todo… el uso de iloc

    En iloc, [fila inicial:final de la fila, columna inicial:final de la columna]

    caso 1: si desea que sólo la última columna — df.iloc[:,-1] & df.iloc[:,-1:]
    esto significa que sólo desea que la última columna…

    caso 2: si desea que todas las columnas y todas las filas excepto la última columna — df.iloc[:,:-1]
    esto significa que usted quiere que todas las columnas y todas las filas excepto la última columna…

    caso 3: si desea que sólo el último de la fila — df.iloc[-1:,:] & df.iloc[-1,:]
    esto significa que sólo desea que la última columna…

    caso 4: si desea que todas las columnas y todas las filas excepto el último de la fila — df.iloc[:-1,:]
    esto significa que usted quiere que todas las columnas y todas las filas excepto la última columna…

    caso 5: si desea que todas las columnas y todas las filas excepto la última fila y la última columna — df.iloc[:-1,:-1]
    esto significa que usted quiere que todas las columnas y todas las filas excepto la última columna y la última fila…

Dejar respuesta

Please enter your comment!
Please enter your name here