#NEWLINE# def map( self , func , * columns ) : #NEWLINE# #INDENT# '\n        Map a function to rows, or to given columns\n        ' #NEWLINE# if ( not columns ) : #NEWLINE# #INDENT# return map ( func , self . rows ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# values = ( self . values ( column ) for column in columns ) #NEWLINE# result = [ map ( func , column ) for v in values ] #NEWLINE# if ( len ( columns ) == 1 ) : #NEWLINE# #INDENT# return result [ 0 ] #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# return result