• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

166
Vistas
Agregue una fila con medios de columnas a pandas DataFrame

Tengo un marco de datos de pandas que consta de algunas lecturas de sensores tomadas a lo largo del tiempo como esta:

 diode1 diode2 diode3 diode4 Time 0.530 7 0 10 16 1.218 17 7 14 19 1.895 13 8 16 17 2.570 8 2 16 17 3.240 14 8 17 19 3.910 13 6 17 18 4.594 13 5 16 19 5.265 9 0 12 16 5.948 12 3 16 17 6.632 10 2 15 17

He escrito código para agregar otra fila con los medios de cada columna:

 # List of the averages for the test. averages = [df[key].describe()['mean'] for key in df] indexes = df.index.tolist() indexes.append('mean') df.reindex(indexes) # Adding the mean row to the bottom of the DataFrame i = 0 for key in df: df.set_value('mean', key, averages[i]) i += 1

Esto me da el resultado que quiero, que es un DataFrame como este:

 diode1 diode2 diode3 diode4 Time 0.53 7.0 0.0 10.0 16.0 1.218 17.0 7.0 14.0 19.0 1.895 13.0 8.0 16.0 17.0 2.57 8.0 2.0 16.0 17.0 3.24 14.0 8.0 17.0 19.0 3.91 13.0 6.0 17.0 18.0 4.594 13.0 5.0 16.0 19.0 5.265 9.0 0.0 12.0 16.0 5.948 12.0 3.0 16.0 17.0 6.632 10.0 2.0 15.0 17.0 mean 11.6 4.1 14.9 17.5

Sin embargo, estoy seguro de que esta no es la forma más eficiente de agregar la fila. Intenté usar append con los medios guardados como una serie de pandas, pero terminé con algo como esto:

 diode1 diode2 diode3 diode4 mean 0 7.0 0.0 10.0 14.0 NaN 1 9.0 0.0 10.0 15.0 NaN 2 10.0 5.0 14.0 20.0 NaN 3 6.0 0.0 7.0 14.0 NaN 4 7.0 0.0 10.0 15.0 NaN 5 7.0 0.0 8.0 14.0 NaN 6 7.0 0.0 11.0 14.0 NaN 7 7.0 0.0 2.0 11.0 NaN 8 2.0 0.0 4.0 12.0 NaN 9 4.0 0.0 0.0 6.0 NaN 10 NaN NaN NaN NaN [11.6, 4.1, 14.9, 17.5]

Me preguntaba si había un medio más eficiente de agregar una fila con el índice 'media' y los promedios de cada columna al final de un DataFrame de pandas.

about 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Utilice loc para el ajuste con ampliación :

 df.loc['mean'] = df.mean()

La salida resultante:

 diode1 diode2 diode3 diode4 Time 0.53 7.0 0.0 10.0 16.0 1.218 17.0 7.0 14.0 19.0 1.895 13.0 8.0 16.0 17.0 2.57 8.0 2.0 16.0 17.0 3.24 14.0 8.0 17.0 19.0 3.91 13.0 6.0 17.0 18.0 4.594 13.0 5.0 16.0 19.0 5.265 9.0 0.0 12.0 16.0 5.948 12.0 3.0 16.0 17.0 6.632 10.0 2.0 15.0 17.0 mean 11.6 4.1 14.9 17.5
about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda