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

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

使用熊貓的 IF 和 ELIF 函數(shù)

使用熊貓的 IF 和 ELIF 函數(shù)

阿波羅的戰(zhàn)車 2021-10-12 10:20:12
有什么更好的方法(如果有的話)來定義一個(gè)函數(shù)來檢查 pandas 列是否在給定的整數(shù)范圍內(nèi)?我在 Pandas 數(shù)據(jù)框中有一列,我想檢查這些值是否在設(shè)定范圍之間。為此,我選擇創(chuàng)建一個(gè)函數(shù),該函數(shù)接受數(shù)據(jù)框作為參數(shù),并使用 IF 和 ELIF 測試列是否在范圍內(nèi)。這在范圍很小的情況下可能沒問題,但是如果范圍很大,則生成的 IF、ELIF 函數(shù)可能難以維護(hù)。有沒有更好的方法來實(shí)現(xiàn)這一目標(biāo)?我的代碼有效-def fn(dframe):    if dframe['A'] < 125:        return 935 + 0.2 * dframe['A']    elif (dframe['A'] >= 955) and (dframe['A'] <= 974):        return 921.2 + 0.2 * (dframe['A'] - 955)    elif (dframe['A'] >= 975) and (dframe['A'] <= 1023):        return 925.2 + 0.2 * (dframe['BCCH'] - 975)    elif (dframe['A'] >= 511) and (dframe['A'] <= 885):        return 1805.2 + 0.2 * (dframe['A'] - 512)此代碼按預(yù)期工作,但是如果范圍很大,則生成的函數(shù)將難以管理。
查看完整描述

2 回答

?
慕妹3242003

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

看來你需要 np.where


import numpy as np

np.where(dframe['A'] < 125, 935 + 0.2 * dframe['A'],

       np.where(dframe['A'] >= 511) & (dframe['A'] <= 885), 1805.2 + 0.2 * (dframe['A'] - 512,

       np.where(dframe['A'] <= 974, 921.2 + 0.2 * (dframe['A'] - 955),

       np.where(dframe['A'] <= 1023, 925.2 + 0.2 * (dframe['A'] - 975),

    'Value for any other value'))))


查看完整回答
反對 回復(fù) 2021-10-12
  • 2 回答
  • 0 關(guān)注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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