Pandas apply to dateframe produces '<built-in method values of ...'
Thanks, DSM, for pointing that out. Lesson learned: pandas is not good for arbitrary Python objects
So this is what I wound up doing:
temp = zip(list(data.geom), list(data.address))
output = map(lambda x: {'geometry': x[0], 'properties':{'address':x[1]}}, temp)