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

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

如何根據(jù)多個(gè)條件確定行中的值是否有效?

如何根據(jù)多個(gè)條件確定行中的值是否有效?

素胚勾勒不出你 2023-06-20 10:15:35
我在數(shù)據(jù)框中有一些數(shù)據(jù),想檢查Year是否有效,如果存在于 start_year 和 end_year 之間Year      start_year      end_year    2010        2012            20142013        2012            20152015        2015            20162009        2010            20122017        2016            2019我想再添加一列(有效/無(wú)效)來(lái)指定年份是否有效Year      start_year      end_year     valid/invalid 2010        2012            2014         invalid2013        2012            2015         valid 2015        2015            2016         valid2009        2010            2012         invalid 2017        2016            2019         valid 我們?nèi)绾问褂?python 實(shí)現(xiàn)這一目標(biāo)?
查看完整描述

3 回答

?
DIEA

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

你可以np.where使用Series.between

df["valid/invalid"] = np.where(df.Year.between(df.start_year,df.end_year),'valid','invalid')

df

? ?Year? start_year? end_year valid/invalid

0? 2010? ? ? ? 2012? ? ? 2014? ? ? ?invalid

1? 2013? ? ? ? 2012? ? ? 2015? ? ? ? ?valid

2? 2015? ? ? ? 2015? ? ? 2016? ? ? ? ?valid

3? 2009? ? ? ? 2010? ? ? 2012? ? ? ?invalid

4? 2017? ? ? ? 2016? ? ? 2019? ? ? ? ?valid


查看完整回答
反對(duì) 回復(fù) 2023-06-20
?
縹緲止盈

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

如果您想堅(jiān)持只使用 Pandas,請(qǐng)嘗試使用以下解決apply方案replace-


df['valid/invalid'] = df.apply(lambda x: (x.Year>=x.start_year) and (x.Year<=x.end_year), axis=1).replace({True:'Valid',False:'Invalid'})

   Year  start_year  end_year valid/invalid

0  2010        2012      2014       Invalid

1  2013        2012      2015         Valid

2  2015        2015      2016         Valid

3  2009        2010      2012       Invalid

4  2017        2016      2019         Valid

apply如果年份介于開(kāi)始年份和結(jié)束年份之間(包括兩端),第一步會(huì)讓您判斷為真或假。第二步將Trueand替換False為ValidorInvalid字符串。


查看完整回答
反對(duì) 回復(fù) 2023-06-20
?
手掌心

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

查看np.where


df['v/inv'] = np.where((df.Year>=df.start_year) & (df.Year<=df.end_year), 'valid','invalid')

df

Out[360]: 

   Year  start_year  end_year    v/inv

0  2010        2012      2014  invalid

1  2013        2012      2015    valid

2  2015        2015      2016    valid

3  2009        2010      2012  invalid

4  2017        2016      2019    valid


查看完整回答
反對(duì) 回復(fù) 2023-06-20
  • 3 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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