第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在函數(shù)內(nèi)部定義全局時(shí)出現(xiàn) UnboundLocalError

在函數(shù)內(nèi)部定義全局時(shí)出現(xiàn) UnboundLocalError

慕神8447489 2023-07-27 15:48:31
我知道這是一個(gè)非常常見的錯(cuò)誤,但我可以找到我的錯(cuò)誤。我有帶有周邊數(shù)據(jù)的數(shù)據(jù)框,例如:>>>name    perimeter0  al      24.51  dl      43.72  yl      1222.43  pl      213.24  kl      120...我想檢查周長中位數(shù)是多少,然后根據(jù)周長中位數(shù)添加新列。我在函數(shù)之前定義中位數(shù),然后在函數(shù)內(nèi)將中位數(shù)定義為全局:per_median=df['perimeter'].median()def z(row):    global per_median    if row['perimeter'] > per_median:        val = 'yes'    elif row['perimeter'] < per_median:        val = 'no'    return valdf['perimeter_warning'] = df.apply(z,axis=1)由于某種原因,即使我在函數(shù)內(nèi)使用全局,我仍然收到此錯(cuò)誤:UnboundLocalError:賦值前引用的局部變量“val”我做錯(cuò)了什么?我預(yù)計(jì)將其定義為全局將解決問題。
查看完整描述

2 回答

?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊

嘗試在代碼中添加另一種場景,其中

if row['perimeter'] == per_median: 然后為 val 設(shè)置一些值。

或者,如果您不想處理此問題,請(qǐng)?jiān)谑褂弥皣L試為 val 分配默認(rèn)值。


查看完整回答
反對(duì) 回復(fù) 2023-07-27
?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

缺少處理row['perimeter']等于的情況,因此未設(shè)置變量。per_medianval


編輯代碼來處理這種情況:


import pandas as pd

import numpy as np



df = pd.DataFrame({'name':['al', 'dl', 'yl', 'pl', 'kl'],

'perimeter':[24.5, 43.7, 1222.4, 213.2, 120]})



per_median=df['perimeter'].median()


def z(row):

    global per_median

    if row['perimeter'] > per_median:

        val = 'yes'

    elif row['perimeter'] < per_median:

        val = 'no'

    else:

        val = 'equals'

    return val


df['perimeter_warning'] = df.apply(z,axis=1)


print(df)

輸出:


  name  perimeter perimeter_warning

0   al       24.5                no

1   dl       43.7                no

2   yl     1222.4               yes

3   pl      213.2               yes

4   kl      120.0            equals


查看完整回答
反對(duì) 回復(fù) 2023-07-27
  • 2 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)