<s> from __future__ import absolute_import , print_function , division <EOL> import petl as etl <EOL> table1 = [ [ '<STR_LIT:foo>' , '<STR_LIT:bar>' ] , <EOL> [ '<STR_LIT:a>' , <NUM_LIT:3> ] , <EOL> [ '<STR_LIT:a>' , <NUM_LIT:7> ] , <EOL> [ '<STR_LIT:b>' , <NUM_LIT:2> ] , <EOL> [ '<STR_LIT:b>' , <NUM_LIT:1> ] , <EOL> [ '<STR_LIT:b>' , <NUM_LIT:9> ] , <EOL> [ '<STR_LIT:c>' , <NUM_LIT:4> ] ] <EOL> def sumbar ( key , rows ) : <EOL> return [ key , sum ( row [ <NUM_LIT:1> ] for row in rows ) ] <EOL> table2 = etl . rowreduce ( table1 , key = '<STR_LIT:foo>' , reducer = sumbar , <EOL> fields = [ '<STR_LIT:foo>' , '<STR_LIT>' ] ) <EOL> table2 <EOL> import petl as etl <EOL> table1 = [ [ '<STR_LIT:foo>' , '<STR_LIT:bar>' , '<STR_LIT>' ] , <EOL> [ '<STR_LIT:a>' , <NUM_LIT:3> , True ] , <EOL> [ '<STR_LIT:a>' , <NUM_LIT:7> , False ] , <EOL> [ '<STR_LIT:b>' , <NUM_LIT:2> , True ] , <EOL> [ '<STR_LIT:b>' , <NUM_LIT:2> , False ] , <EOL> [ '<STR_LIT:b>' , <NUM_LIT:9> , False ] , <EOL> [ '<STR_LIT:c>' , <NUM_LIT:4> , True ] ] <EOL> table2 = etl . aggregate ( table1 , '<STR_LIT:foo>' , len ) <EOL> table2 <EOL> table3 = etl . aggregate ( table1 , '<STR_LIT:foo>' , sum , '<STR_LIT:bar>' ) <EOL> table3 <EOL> table4 = etl . aggregate ( table1 , key = ( '<STR_LIT:foo>' , '<STR_LIT:bar>' ) , <EOL> aggregation = list , value = ( '<STR_LIT:bar>' , '<STR_LIT>' ) ) <EOL> table4 <EOL> from collections import OrderedDict <EOL> import petl as etl <EOL> aggregation = OrderedDict ( ) <EOL> aggregation [ '<STR_LIT:count>' ] = len <EOL> aggregation [ '<STR_LIT>' ] = '<STR_LIT:bar>' , min <EOL> aggregation [ '<STR_LIT>' ] = '<STR_LIT:bar>' , max <EOL> aggregation [ '<STR_LIT>' ] = '<STR_LIT:bar>' , sum <EOL> aggregation [ '<STR_LIT>' ] = '<STR_LIT:bar>' <EOL> aggregation [ '<STR_LIT>' ] = ( '<STR_LIT:bar>' , '<STR_LIT>' ) , list <EOL> aggregation [ '<STR_LIT>' ] = '<STR_LIT:bar>' , etl . strjoin ( '<STR_LIT:U+002CU+0020>' ) <EOL> table5 = etl . aggregate ( table1 , '<STR_LIT:foo>' , aggregation ) <EOL> table5 <EOL> import petl as etl <EOL> table1 = [ [ '<STR_LIT:foo>' , '<STR_LIT:bar>' , '<STR_LIT>' ] , <EOL> [ '<STR_LIT:A>' , <NUM_LIT:1> , <NUM_LIT> ] , <EOL> [ '<STR_LIT:B>' , <NUM_LIT:2> , None ] , <EOL> [ '<STR_LIT:D>' , <NUM_LIT:3> , <NUM_LIT> ] , <EOL> [ '<STR_LIT:B>' , None , <NUM_LIT> ] , <EOL> [ '<STR_LIT:E>' , None , <NUM_LIT> ] , <EOL> [ '<STR_LIT:D>' , <NUM_LIT:3> , <NUM_LIT> ] , <EOL> [ '<STR_LIT:A>' , <NUM_LIT:2> , None ] ] <EOL> table2 = etl . mergeduplicates ( table1 , '<STR_LIT:foo>' ) <EOL> table2 <EOL> import petl as etl <EOL> table1 = [ [ '<STR_LIT:foo>' , '<STR_LIT:bar>' , '<STR_LIT>' ] , <EOL> [ <NUM_LIT:1> , '<STR_LIT:A>' , True ] , <EOL> [ <NUM_LIT:2> , '<STR_LIT:B>' , None ] , <EOL> [ <NUM_LIT:4> , '<STR_LIT:C>' , True ] ] <EOL> table2 = [ [ '<STR_LIT:bar>' , '<STR_LIT>' , '<STR_LIT>' ] , <EOL> [ '<STR_LIT:A>' , True , <NUM_LIT> ] , <EOL> [ '<STR_LIT:B>' , False , <NUM_LIT> ] , <EOL> [ '<STR_LIT:C>' , False , <NUM_LIT> ] ] <EOL> table3 = etl . merge ( table1 , table2 , key = '<STR_LIT:bar>' ) <EOL> table3 <EOL> import petl as etl <EOL> table1 = [ [ '<STR_LIT:id>' , '<STR_LIT:count>' ] , <EOL> [ <NUM_LIT:1> , <NUM_LIT:3> ] , <EOL> [ <NUM_LIT:1> , <NUM_LIT:5> ] , <EOL> [ <NUM_LIT:2> , <NUM_LIT:4> ] , <EOL> [ <NUM_LIT:2> , <NUM_LIT:8> ] ] <EOL> import operator <EOL> table2 = etl . fold ( table1 , '<STR_LIT:id>' , operator . add , '<STR_LIT:count>' , <EOL> presorted = True ) <EOL> table2 </s>
