import numpy
node = hou.pwd()
geo = node.geometry()
# Add code to modify contents of geo.
# Use drop down menu to select examples.
#get array of all points attr "P" as string buffer...
string_buffer = geo.pointFloatAttribValuesAsString("P", float_type=hou.numericData.Float32)
#create numpy array from our string buffer...
array_of_pos = numpy.fromstring(string_buffer, dtype='float32' ).reshape(-1, 3) # and reshape to make it 2dimentional (array of vectors)
# doing something with your array... (google the numpy broadcast rules)
array_of_pos -= (20, 4, 2) #per-element operation
#and then you need to copy your numpy array back to points attr "P"
geo.setPointFloatAttribValuesFromString("P", numpy.getbuffer(array_of_pos), float_type=hou.numericData.Float32)
# WORKED (h13)!