我寫下了這段代碼,它回傳一堆比率,每行單獨執行時都可以正常作業,但是我無法將代碼放在一個函式中,該函式應該將值作為字典回傳
輸出示例:{“低于高中”:0.2,“高中”:0.39 ...}
def education ():
total = sum (df["CHILDNM"])
edult12 = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 1, 0)
nlt12=sum( edult12["CHILDNM"])
edu12 = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 2, 0)
n12= sum( edu12["CHILDNM"])
edumt12 = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 3, 0)
nmt12=sum( edumt12["CHILDNM"])
educollege = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 4, 0)
ncollege = sum( educollege["CHILDNM"])
lt12ratio = nlt12/total
edu12ratio = n12 / total
edumt12ratio = nmt12 / total
educollegeratio = ncollege/total
values = print (lt12ratio, edu12ratio,edumt12ratio, educollegeratio )
print (values)
uj5u.com熱心網友回復:
您的代碼缺少回傳陳述句!
添加類似的東西
return { "less than high school" :0.2 , "high school" :0.39 }
(用您的實際計算值替換數字)
uj5u.com熱心網友回復:
看來您沒有任何“退貨”宣告。所以這意味著該函式不會回傳任何值。
def education ():
somedict = {'url': 'https://stackoverflow.com/'}
return somedict
save_return_value = education()
然后“save_return_value”可以包含回傳值
uj5u.com熱心網友回復:
好吧,你分配給values呼叫printwhich is的結果None。然后你只需列印出values應該列印的內容None。最后,您沒有任何return宣告,因此您的education函式將始終回傳None
uj5u.com熱心網友回復:
您需要將變數分配(lt12ratio, edu12ratio,edumt12ratio, educollegeratio)給values,而不是print。
如果要列印它們,則使用print(value). return最后,你需要values變數。
這就是你的功能應該是這樣的:
def education():
total = sum (df["CHILDNM"])
edult12 = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 1, 0)
nlt12=sum( edult12["CHILDNM"])
edu12 = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 2, 0)
n12= sum( edu12["CHILDNM"])
edumt12 = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 3, 0)
nmt12=sum( edumt12["CHILDNM"])
educollege = df[['EDUC1','CHILDNM']].where(df['EDUC1'] == 4, 0)
ncollege = sum( educollege["CHILDNM"])
lt12ratio = nlt12/total
edu12ratio = n12 / total
edumt12ratio = nmt12 / total
educollegeratio = ncollege/total
values = (lt12ratio, edu12ratio,edumt12ratio, educollegeratio)
print(values)
return values
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/494877.html
下一篇:ValueError:Usea.empty,a.bool(),a.item(),a.any()ora.all()&AttributeError:'bool'objecthasnoa
