【发布时间】:2018-07-30 17:00:35
【问题描述】:
请考虑这个接受两个参数的函数:series 和 categorical_values。它的目标是获得一个series,使其分类,然后将原始系列的每个元素与分类的对应元素一起打印。但是,如果 categorical_values 已经作为输入传递给函数,则跳过分类阶段,函数只打印传递的 series 和 categorical_values 对。
def my_function(series, categorical_values = None):
if categorical_values: #meant to mean "if this argument is passed, just use it"
categorical_values = categorical_values
else: #meant to mean "if this argument is not passed, create it"
categorical_values= pd.qcut(series, q = 5)
for i,j in zip(series, categorical_values):
print(i, j)
但是,在下面传递categorical_values:
my_function(series, pd.qcut(series, q = 5))
导致:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
导致此错误的代码行是第一行:if categorical_values:
检查函数参数是否已通过的正确方法是什么?
【问题讨论】:
标签: python python-3.x pandas function