擅长:python、mysql、java
<p>“apply”调用的函数应接受行或列。这是一个有效的实现</p>
<p>请注意,您还应:</p>
<ul>
<li>初始化<code>scoreq</code></李>
<li>将值视为数字而不是字符串</李>
<li>对列表而不是元组使用“in”</李>
</ul>
<pre><code> def scoreq(row):
scoreq = 0 # you need to initialize this variable.
scoreq += -0.3657
scoreq += (row["ADVNTG_MARITAL_STAT"] == 2)*-0.039
scoreq += (row["ADVTG_TRGT_INC"] in [7,6,5,4])*0.1311
scoreq += (row["AGECD"] in [7,2])*-0.1254
scoreq += (row["PPXPRI"] == -1)*-0.1786
return scoreq
df_3Var['scoreq'] = df_3Var.apply(scoreq, axis=1)
</code></pre>