亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果值不在 Python 范圍內

如果值不在 Python 范圍內

飲歌長嘯 2023-06-06 15:05:02
我正在嘗試根據值將數據分為幾類。因此,高于 -25 的值被指定為熊級別 0,依此類推。但是當我查看數據時,我可以看到有低于 -25 的值被指定為熊級別 0。所有類別都是如此。###############################################################Bear_level = ['high', 'medium-high', 'medium', 'medium-low', 'low', 'very-low']Level=[]for value in data_shifted[k]['SCI300max [um]']:    if value >= -25:        Level.append(Bear_level[0])    elif value < -25 and value >= -50:        Level.append(Bear_level[1])    elif value < -50 and value >= -75:        Level.append(Bear_level[2])    elif value < -75 and value >= -100:        Level.append(Bear_level[3])    elif value < -100 and value >= -150:        Level.append(Bear_level[4])    else:        Level.append(Bear_level[5])Amount = 0for i in Bear_level:    for m in range(int(len(Level))):        if Level[m] ==i:            Amount += 1    print(Amount)    Amount = 0    for k in data_shifted:    data_shifted[k]['Bear Level']= Leveldata_interp={k:[] for k in progression}   for k in data_interp:    data_interp[k]=data_shifted[k][['Chainage [m]', 'Driving Speed [m/s]', 'Latitude', 'Longitude', 'Road temperature [C]', 'Air temperature [C]','Temp corrected Bells2_50','Load Left [kg]','Load Right [kg]', 'Dmax [um]', 'D0 [um]', 'D300 [um]', 'D600 [um]', 'D900 [um]', 'D1200 [um]', 'D1500 [um]', 'SCI300max [um]','SCI300 [um]','SCI300diff [um]', 'SCI600max [um]','SCI600 [um]', 'SCI900max [um]','SCI900 [um]', 'SCI600max-SCI300max [um]', 'SCI900max-SCI600max [um]','speedfilter', 'Bear Level', 'Traffic [ESALs x day]', 'Layer1 Thickness [m]']]    data_interp[k]= data_interp[k][data_interp[k]['speedfilter']=='Pass']    我希望有人能夠看到問題,因為我迷失了想法。
查看完整描述

1 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

你需要翻轉你的邏輯。所有值都低于 -25:因此您需要先檢查最小值


for value in data_shifted[k]['SCI300max [um]']:

    if value <= -150:

        Level.append(Bear_level[5])

    elif value < -100 and value >= -150:

        Level.append(Bear_level[4])

    elif value < -75 and value >= -100:

        Level.append(Bear_level[3])

    elif value < -50 and value >= -75:

        Level.append(Bear_level[2])

    elif value < -25 and value >= -50:

        Level.append(Bear_level[1])

    else:

        Level.append(Bear_level[0])

而且你真的不需要 and 子句:


for value in data_shifted[k]['SCI300max [um]']:

    if value <= -150:

        Level.append(Bear_level[5])

    elif value < -100:

        Level.append(Bear_level[4])

    elif value < -75:

        Level.append(Bear_level[3])

    elif value <:

        Level.append(Bear_level[2])

    elif value < -25:

        Level.append(Bear_level[1])

    else:

        Level.append(Bear_level[0])


查看完整回答
反對 回復 2023-06-06
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號