<p>我正在尝试对数据帧中的列应用IF函数。很简单,如果工资超过5万英镑,我希望它返回“5万英镑以上”,如果工资低于5万英镑,则返回“5万英镑以下”。你知道吗</p>
<p>我尝试了下面的代码,但遇到了错误消息。我做了一些关于在处理数据帧时使用apply函数的研究,因此定义了一个函数并使用了下面的第二段代码,但是得到了第二条错误消息。你知道吗</p>
<pre><code> salary = employees['Salary']
if Salary > 50000:
print('Over £50,000')
else:
print('Under £50,000')
</code></pre>
<p>应用方法</p>
<pre><code> def SalaryCheck():
if Salary > 50000:
print('Over £50,000')
else:
print('Under £50,000')
employees.Salary.apply(SalaryCheck)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Users\Peter\PycharmProjects\untitled\venv\lib\site- packages\pandas\core\generic.py", line 1556, in __nonzero__
self.__class__.__name__
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
</code></pre>
<p>应用方法警告</p>
<pre><code> Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Users\Peter\PycharmProjects\untitled\venv\lib\site- packages\pandas\core\series.py", line 4038, in apply
mapped = lib.map_infer(values, f, convert=convert_dtype)
</code></pre>