Eliminar las tres primeras filas de un marco de datos en pandas

3 minutos de lectura

avatar de usuario
Nilani Algiriyage

Necesito eliminar las primeras tres filas de un marco de datos en pandas.

lo sé df.ix[:-1] eliminaría la última fila, pero no puedo averiguar cómo eliminar las primeras n filas.

  • Para read_csv/read_html puede usar, por ejemplo header=3 argumento del constructor que establecerá esa fila como la fila del encabezado: stackoverflow.com/a/51822697/191246

    – ccpizza

    16 de diciembre de 2019 a las 17:04


avatar de usuario
bdiamante

Usar iloc:

df = df.iloc[3:]

le dará un nuevo df sin las tres primeras filas.

  • ¿Eso no elimina las primeras 4 filas en lugar de las primeras 3 filas en la pregunta original?

    – Tagoma

    17 de noviembre de 2016 a las 18:16

  • No, no lo hace. La posición inicial del corte siempre se incluye.

    – bdiamante

    20/01/2017 a las 19:30

  • Alguien sabe cómo hacer esto en un groupby()? Esto funciona pero devuelve columnas duplicadas en el índice df=pd.DataFrame({'v':np.arange(10).tolist()*2,'g':['a']*10+['b']*10});df.groupby('g').apply(lambda x: x.iloc[3:])

    – ciudadnorman

    6 de agosto de 2017 a las 22:24

  • Entonces, si desea eliminar de la fila 3 a la fila 9, por ejemplo, ¿cómo lo haría? df=df.iloc[3:9]?

    – MK

    26 de junio de 2019 a las 14:25

  • @MK si usa este enfoque, puede usarlo en combinación con pd.concat(). Algo como, df2 = pd.concat([df.iloc[:3],df.iloc[10:]]).

    – bdiamante

    26 jun 2019 a las 17:00

avatar de usuario
C Marte

Creo que una forma más explícita de hacer esto es usar drop.

La sintaxis es:

df.drop(label)

Y como lo señalaron @tim y @ChaimG, esto se puede hacer en el lugar:

df.drop(label, inplace=True)

Una forma de implementar esto podría ser:

df.drop(df.index[:3], inplace=True)

Y otro uso “en su lugar”:

df.drop(df.head(3).index, inplace=True)

  • drop incluso se puede calcular en el lugar (sin asignación adicional). ¡Más rápido y más sencillo!

    – Tim

    13 de junio de 2014 a las 18:24

  • Para ampliar la idea de Tim, Ejemplo: df.drop(label, inplace=True)

    – ChaimG

    26 de agosto de 2015 a las 4:41

  • Debido al índice 0, creo que la sugerencia de implementación eliminará 4 filas.

    –Daniel Morgan

    7 mayo 2016 a las 18:34

  • @DanielMorgan Ese no es el caso ya que los rangos de python están medio abiertos. En cuanto a por qué es eso, es otra pregunta. Consulte stackoverflow.com/questions/4504662/… o quora.com/…

    – C Marte

    9 de mayo de 2016 a las 7:10

  • @tim, según esto, inplace las operaciones no son más rápidas. Además, más simple es una cuestión de opinión: me resulta más fácil de leer cuando el código no tiene inplace parámetros

    – toto_tico

    26 de julio de 2017 a las 9:14

avatar de usuario
176codificación

df = df.iloc[n:]

n elimina las primeras n filas.

Una forma simple es usar tail(-n) para eliminar las primeras n filas

df=df.tail(-3)

avatar de usuario
Anupam Khare

df.drop(df.index[[0,2]])

Pandas usa numeración basada en cero, por lo que 0 es la primera fila, 1 es la segunda fila y 2 es la tercera fila.

avatar de usuario
barbac

Puede usar el corte de Python, pero tenga en cuenta que no está en su lugar.

In [15]: import pandas as pd
In [16]: import numpy as np
In [17]: df = pd.DataFrame(np.random.random((5,2)))
In [18]: df
Out[18]:
          0         1
0  0.294077  0.229471
1  0.949007  0.790340
2  0.039961  0.720277
3  0.401468  0.803777
4  0.539951  0.763267

In [19]: df[3:]
Out[19]:
          0         1
3  0.401468  0.803777
4  0.539951  0.763267

avatar de usuario
raul kuchhadia

inp0= pd.read_csv(“bank_marketing_updated_v1.csv”,skiprows=2)

o si quieres hacerlo en el marco de datos existente

simplemente haz el siguiente comando

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad