El paquete plyr de Hadley para R es extremadamente útil, es una gran DSL para transformar datos. El problema que se resuelve es tan común, que lo enfrento a otros casos de uso, cuando no manipulo datos en R, pero en otros lenguajes de programación.¿Hay una implementación de ddply de Hadley para python?
¿Alguien sabe si existe un módulo que hace algo similar para python? Algo así como:
def ddply(rows, *cols, op=lambda group_rows: group_rows):
"""group rows by cols, then apply the function op to each group
and return the results aggregating all groups
rows is a dict or list of values read by csv.reader or csv.DictReader"""
pass
No debería ser demasiado difícil de implementar, pero sería genial si ya existía. Lo implementaría, usaría itertools.groupby
para agrupar por cols
, luego aplicaría la función op
, luego usar itertools.chain para encadenarlo todo. ¿Hay una mejor solución?
El módulo 'operator' puede ser útil para sus funciones prefabricadas. – Daenyth
Si pudieras escribir esto sobre el módulo panda python entonces podrías ganar Internet (en mi opinión, al menos) –
@MikeDewar: ¿Hay una implementación de pandas de esto? – user248237dfsf