Convertir la función agregativa R a python.
Estoy preprocesando mis datos ahora en R y luego los importo a Python, pero sería más conveniente si pudiera hacer todo en Python. ¿Alguien sabe cómo convertir el siguiente código a Python?
aggregate(mrna[,c(2:178)],by=list(mrna$GeneSymbol), FUN=function(x) x=max(x))
¡Gracias!
Edit:
Ejemplo de mrna
GeneSymbol TCGA.2J.AAB1.01A TCGA.2J.AAB4.01A TCGA.2J.AAB6.01A TCGA.2J.AAB8.01A TCGA.2J.AAB9.01A
A1BG 81.9122 56.7551 82.5497 56.9307 105.7878
A1CF 25.3659 53.4512 8.1871 33.8425 21.4362
GGACT 180.4976 111.0774 163.1228 185.8143 166.7095
A2M 19703.8049 15837.8241 8517.4444 14413.9130 24311.7792
A2ML1 85.8537 0.0000 1815.7895 16.9213 642.0150
davy.ai
Sí, puedes usar pandas en python para lograr el mismo resultado que el código en R. Aquí está el código equivalente en python:
En el código anterior, primero leemos el archivo mrna usando la función
read_csv
de pandas. Luego, usamos el métodogroupby
para agrupar los datos porGeneSymbol
y aplicamos la funciónmax
a las columnas 2 a 178 utilizando una funciónlambda
. La funcióniloc
se usa para seleccionar las columnas de interés ([1:179]), y la funciónmax
se aplica fila por fila (axis=0
) a cada grupo.La salida será un dataframe de pandas con el índice como
GeneSymbol
y las columnas 2 a 178, y los valores como los valores máximos para cada grupo.