¿Es posible insertar una fila en una posición arbitraria en un dataframe utilizando pandas?

Tengo un objeto DataFrame similar a este:

onset length 1 2.215 1.3 2 23.107 1.3 3 41.815 1.3 4 61.606 1.3 ... 

Lo que me gustaría hacer es insertar una fila en una posición especificada por algún valor de índice y actualizar los siguientes índices en consecuencia. P.ej:

  onset length 1 2.215 1.3 2 23.107 1.3 3 30.000 1.3 # new row 4 41.815 1.3 5 61.606 1.3 ... 

Cuál sería la mejor forma de hacer esto?

Podrías rebanar y usar concat para obtener lo que quieres.

 line = DataFrame({"onset": 30.0, "length": 1.3}, index=[3]) df2 = concat([df.iloc[:2], line, df.iloc[3:]]).reset_index(drop=True) 

Esto producirá el dataframe en su salida de ejemplo. Que yo sepa, concat es el mejor método para lograr una operación de inserción de tipo en pandas, pero hay que reconocer que no soy un experto en pandas.

Me resulta más legible ordenar en lugar de cortar y concatenar.

 line = DataFrame({"onset": 30.0, "length": 1.3}, index=[2.5]) df = df.append(line, ignore_index=False) df = df.sort_index().reset_index(drop=True)