tutorial tablas para leer funciones datos pandas aggregation

tablas - Pandas: ¿es posible agregar dos columnas usando dos agregaciones diferentes?



pandas python (1)

El método agg puede aceptar un dict, en cuyo caso las teclas indican la columna a la que se aplica la función:

grouped.agg({''numberA'':''sum'', ''numberB'':''min''})

Por ejemplo,

import numpy as np import pandas as pd df = pd.DataFrame({''A'': [''foo'', ''bar'', ''foo'', ''bar'', ''foo'', ''bar'', ''foo'', ''foo''], ''B'': [''one'', ''one'', ''two'', ''three'', ''two'', ''two'', ''one'', ''three''], ''number A'': np.arange(8), ''number B'': np.arange(8) * 2}) grouped = df.groupby(''A'') print(grouped.agg({ ''number A'': ''sum'', ''number B'': ''min''}))

rendimientos

number B number A A bar 2 9 foo 0 19

Esto también muestra que Pandas puede manejar espacios en nombres de columnas. No estoy seguro de cuál fue el origen del problema, pero los espacios literales no deberían haber planteado un problema. Si desea investigar más a fondo,

print(df.columns)

Sin reasignar los nombres de las columnas , se mostrará la repr de los nombres. Tal vez había un carácter difícil de ver en el nombre de la columna que parecía un espacio (o algún otro carácter) pero en realidad era un u''/xa0'' (NO-BREAK SPACE), por ejemplo.

Estoy cargando un archivo csv, que tiene las siguientes columnas: fecha, texto A, texto B, número A, número B

Quiero agrupar por las columnas: fecha, texto A y texto B, pero quiero aplicar "suma" al número A, pero "min" al número B.

data = pd.read_table("file.csv", sep=",", thousands='','') grouped = data.groupby(["date", "textA", "textB"], as_index=False)

... ¿pero no puedo ver cómo aplicar dos funciones agregadas diferentes a dos columnas diferentes? Es decir, sum(numberA), min(numberB)