简单、基于模型的数据争用。
wrangle-pypes的Python项目详细描述
缠绕式瓶
简单、基于模型的数据争用。
原点
这个项目的实现要感谢在以前的项目(dfb_predict)中实现了这个概念并希望重用它。在前面提到的项目中,它出现了,因为我们想玩弄面向数据的设计,并且认为如果我们将数据争用/咀嚼期间所需的转换分解为一个简单的“ast”,其中每个节点表示一个转换。为了进一步推进这一想法,我们从Unix philosophy核心租户中得到了一些启发,即单个转换应该只做一件简单的事情,并允许组合实现更复杂的行为。
示例
fromdataclassesimportdataclassimportjsonfromwrangle_pypesimportPipelinefromwrangle_pypes.transformationsimportGet,Create,Cast@dataclassclassPoint:x:inty:int@dataclassclassSquare:A:PointB:Pointpipeline=Pipline({Square:{"A":Get("A")|Create(Point),"A":Get("B")|Create(Point),},Point:{"x":Get("x")|Cast(int),"y":Get("y")|Cast(int),}})data="""[ { "A": {"x": 0, "y", 0}, "B": {"x": 1, "y", 1}, }, { "A": {"x": 10, "y", 10}, "B": {"x": 11, "y", 11}, }]"""squares=list(pipeline.create_multiple(json.loads(data)))