Есть ли реализация Hadley ddply для python?

Я нахожу пакет Hadley plyr для R чрезвычайно полезным, это отличный DSL для преобразования данных. Проблема, которую решает, настолько распространена, что я сталкиваюсь с другими случаями использования, когда не управляю данными в R, а на других языках программирования.

Кто-нибудь знает, существует ли модуль, который делает то же самое для python? Что-то вроде:

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

Это не должно быть слишком сложно реализовать, но было бы здорово, если бы он уже существовал. Я бы реализовал это, я бы использовал itertools.groupby для группировки по cols , затем применил функцию op , а затем использовал itertools.chain, чтобы связать его все до. Есть ли лучшее решение?

14
задан rafalotufo 22 June 2011 в 01:57
поделиться