我正在创建一个函数,根据公式中的参数来计算结果。
分别对第一个if函数我想为n不是None的情况添加第二个条件
def target_n(data, y, q = None, s = 1, n = None, ascending = True):
if q is not None:
target = quantile(data, q, s)
return(target)
else:
target = y(data,s)
return(target)
if n is not None:
sort = target.sort(tst.columns[0],ascending = ascending).ix[0:n,:]
return(sort)
然而,对于n不是None的情况,函数返回“target”而不是“sort”。我该如何实现呢?
答案 0 :(得分:1)
你的问题是你有一个return语句,q是否为None。一旦执行到达return语句,它就会退出函数。
你可以做这样的事情
def target_n(data, y, q = None, s = 1, n = None, ascending = True):
if q is not None:
target = quantile(data, q, s)
else:
target = y(data,s)
if n is not None:
target = target.sort(tst.columns[0],ascending = ascending).ix[0:n,:]
return(target)