Python 代码在编写时有效,但在定义时无效
我在这里和编程界都是新手,所以这可能是一个答案相当简单的问题,但我就是不明白。 我用Jupyter笔记本 我想对某些分数求和,当我正常输入代码时,它可以完美地工作:Python 代码在编写时有效,但在定义时无效,python,pandas,function,Python,Pandas,Function,我在这里和编程界都是新手,所以这可能是一个答案相当简单的问题,但我就是不明白。 我用Jupyter笔记本 我想对某些分数求和,当我正常输入代码时,它可以完美地工作: select_df = df.filter(like = 'ABC') select_df = select_df.loc[(df.REF == '000')] select_df.sum(axis=1) 但当我定义函数并像这样尝试时,它不起作用: def sum_score(a, b): select_df = df.f
select_df = df.filter(like = 'ABC')
select_df = select_df.loc[(df.REF == '000')]
select_df.sum(axis=1)
但当我定义函数并像这样尝试时,它不起作用:
def sum_score(a, b):
select_df = df.filter(like = a)
select_df = select_df.loc[(df.REF == b)]
select_df.sum(axis=1)
sum_score('ABC', '000')
当我把它打成:
print(sum_score('ABC', '000'))
它只是说“无”您必须
从函数返回df:
def sum_score(qu, vc):
select_df = df.filter(like = qu)
select_df = select_df.loc[(df.REF == vc)]
select_df.sum(axis=1)
return select_df # Return the df
然后像这样调用函数:
print(sum_score('ABC', 'V000'))
这将有助于:
def sum_score(qu, vc):
select_df = df.filter(like = qu)
select_df = select_df.loc[(df.REF == vc)]
return select_df.sum(axis=1)
print(sum_score('ABC', 'V000'))
函数没有返回任何结果的u。
您可以将return添加到函数的最后一行,以获取结果并使用/打印它
def sum_score(qu, vc):
select_df = df.filter(like = qu)
select_df = select_df.loc[(df.REF == vc)]
return select_df.sum(axis=1)
你可以得到如下结果:
sum_res = sum_score('ABC', 'V000')
print(sum_res)
或
添加一个返回
行。您的函数现在不返回任何内容
print(sum_score('ABC', 'V000'))