Hadley のR 用plyrパッケージは非常に役に立ち、データを変換するための優れた 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 を使用してすべてをチェーンします。より良い解決策はありますか?