【发布时间】:2011-06-22 01:50:03
【问题描述】:
我发现 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 将其全部链接起来。有没有更好的解决方案?
【问题讨论】: