Field data being erroneously reported as "missing"

Using the following snippet in a TICK script, I receive the error shown below in the kapacitor.log:

var load5_data = stream
.where(lambda: isPresent(‘n_cpus’))
.where(lambda: isPresent(‘load5’))
.where(lambda: isPresent(‘role’))
.where(lambda: “role” == ‘app’)
|eval(lambda: “load5” > ((“load5”/float(“n_cpus”)) * 120.0))
|eval(lambda: “load5” < ((“load5”/float(“n_cpus”)) * 80.0))


ts=2020-03-04T16:44:53.028Z lvl=error msg=“error evaluating expression” service=kapacitor task_master=main task=autoscaling_v1 node=eval8 err=“Cannot call function “float” argument “n_cpus” is missing, values in scope are [“load5”]”

However, as the following log snippet shows, the field “n_cpus” exists, and has a value:

ts=2020-03-04T16:44:52.967Z lvl=info msg=point service=kapacitor task_master=main task=autoscaling_v1 node=log6 prefix= name=system db=telegraf rp=default group=deployment=xxxxxx1500 dimension_0=deployment tag_env=qas tag_host=xxxxxxapp1 tag_region=us-east-1 tag_role=coupa_app tag_zone=us-east-1f tag_dc=aws tag_deployment=xxxxxx1500 field_load1=0 field_load5=0.01 field_load15=0.05 field_n_cpus=4 field_n_users=0 time=2020-03-04T16:44:39.700227858Z

Any assistance would be gratefully received.