with type the that same from for exclude dtypes describe columns before aren all python pandas

python - type - statistics pandas



pandas describen por-parĂ¡metros adicionales (2)

Veo que la biblioteca de pandas tiene una función Describe by , que arroja algunas estadísticas útiles. Sin embargo, ¿hay alguna forma de agregar filas adicionales al resultado, como la desviación estándar (.std) y la desviación media absoluta (.mad) o el recuento de valores únicos?

Obtengo df.describe() pero no puedo averiguar cómo agregar estos elementos de resumen adicionales


Prueba esto:

df.describe() num1 num2 count 3.0 3.0 mean 2.0 5.0 std 1.0 1.0 min 1.0 4.0 25% 1.5 4.5 50% 2.0 5.0 75% 2.5 5.5 max 3.0 6.0

Construye un segundo DataFrame.

pd.DataFrame(df.mad() , columns = ["Mad"] ).T num1 num2 Mad 0.666667 0.666667

Únase a los dos DataFrames.

pd.concat([df.describe(),pd.DataFrame(df.mad() , columns = ["Mad"] ).T ]) num1 num2 count 3.000000 3.000000 mean 2.000000 5.000000 std 1.000000 1.000000 min 1.000000 4.000000 25% 1.500000 4.500000 50% 2.000000 5.000000 75% 2.500000 5.500000 max 3.000000 6.000000 Mad 0.666667 0.666667

1.


la describe predeterminada se ve así:

np.random.seed([3,1415]) df = pd.DataFrame(np.random.rand(100, 5), columns=list(''ABCDE'')) df.describe() A B C D E count 100.000000 100.000000 100.000000 100.000000 100.000000 mean 0.495871 0.472939 0.455570 0.503899 0.451341 std 0.303589 0.291968 0.294984 0.269936 0.284666 min 0.006453 0.001559 0.001068 0.015311 0.009526 25% 0.239379 0.219141 0.196251 0.294371 0.202956 50% 0.529596 0.456548 0.376558 0.532002 0.432936 75% 0.759452 0.739666 0.665563 0.730702 0.686793 max 0.999799 0.994510 0.997271 0.981551 0.979221

Actualizado para pandas 0.20
Haría mi propia describe como abajo. Debería ser obvio cómo agregar más.

def describe(df, stats): d = df.describe() return d.append(df.reindex_axis(d.columns, 1).agg(stats)) describe(df, [''skew'', ''mad'', ''kurt'']) A B C D E count 100.000000 100.000000 100.000000 100.000000 100.000000 mean 0.495871 0.472939 0.455570 0.503899 0.451341 std 0.303589 0.291968 0.294984 0.269936 0.284666 min 0.006453 0.001559 0.001068 0.015311 0.009526 25% 0.239379 0.219141 0.196251 0.294371 0.202956 50% 0.529596 0.456548 0.376558 0.532002 0.432936 75% 0.759452 0.739666 0.665563 0.730702 0.686793 max 0.999799 0.994510 0.997271 0.981551 0.979221 skew -0.014942 0.048054 0.247244 -0.125151 0.066156 mad 0.267730 0.249968 0.254351 0.228558 0.242874 kurt -1.323469 -1.223123 -1.095713 -1.083420 -1.148642

Vieja respuesta

def describe(df): return pd.concat([df.describe().T, df.mad().rename(''mad''), df.skew().rename(''skew''), df.kurt().rename(''kurt''), ], axis=1).T describe(df) A B C D E count 100.000000 100.000000 100.000000 100.000000 100.000000 mean 0.495871 0.472939 0.455570 0.503899 0.451341 std 0.303589 0.291968 0.294984 0.269936 0.284666 min 0.006453 0.001559 0.001068 0.015311 0.009526 25% 0.239379 0.219141 0.196251 0.294371 0.202956 50% 0.529596 0.456548 0.376558 0.532002 0.432936 75% 0.759452 0.739666 0.665563 0.730702 0.686793 max 0.999799 0.994510 0.997271 0.981551 0.979221 mad 0.267730 0.249968 0.254351 0.228558 0.242874 skew -0.014942 0.048054 0.247244 -0.125151 0.066156 kurt -1.323469 -1.223123 -1.095713 -1.083420 -1.148642