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

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

如何在python中執(zhí)行多個(gè)if條件

如何在python中執(zhí)行多個(gè)if條件

九州編程 2023-12-20 19:43:28
我有這個(gè)Excel函數(shù),它說(shuō):=IF(id ="pre_stage";"a";IF(id="static";"b";"c"))我嘗試在我的 python 腳本中實(shí)現(xiàn)這一點(diǎn)來(lái)創(chuàng)建一個(gè)新列。df['type'] = df['id'].apply(lambda x: 'a' if x == 'pre_stage' else 'b')我錯(cuò)過(guò)了第二個(gè)條件,如果“id”是“static”,那么類型應(yīng)該是“b”,其他將是“c”。劇本應(yīng)該怎么寫?謝謝
查看完整描述

3 回答

?
犯罪嫌疑人X

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

您可以傳入一個(gè)函數(shù)來(lái)代替使用 lambda apply:


def f(x):

    if x == 'pre_stage':

        return 'a'

    elif x == 'static':

        return 'b'

    return 'c'


df['type'] = df['id'].apply(f)

您還可以使用字典:


d = {'pre_stage': 'a', 'static': 'b'}

df['type'] = df['id'].apply(lambda x: d.get(x, 'c'))


查看完整回答
反對(duì) 回復(fù) 2023-12-20
?
米琪卡哇伊

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

您可以在此處創(chuàng)建映射并使用pd.Series.map。

mapping?=?{"pre_stage":?"a",?"static":?"b"}
df["type"]?=?df["id"].map(mapping).fillna("c")

你可以np.select在這里使用。

condlist?=?[df["id"].eq("pre_stage"),?df["id"].eq("static")]
choicelist?=?["a",?"b"]
df["type"]?=?np.select(condlist,?choicelist,?"c")


查看完整回答
反對(duì) 回復(fù) 2023-12-20
?
catspeake

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

如果您的條件要嵌套,最好為其定義一個(gè)函數(shù)。它還有助于使您的代碼更清晰。


import pandas as pd


df = pd.DataFrame({'type':['pre-stage','static','not-related']})


def func(x):

    if x == 'pre-stage':

        return 'a'

    elif x == 'static':

        return 'b'

    return 'c'

結(jié)果:


df['type'].apply(func) #as example, you can assign it to the frame as you did


>>

0    a

1    b

2    c

Name: type, dtype: object


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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