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

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

如果 df 中的列的值是同一數(shù)據(jù)幀中另一列的值之一,則匹配

如果 df 中的列的值是同一數(shù)據(jù)幀中另一列的值之一,則匹配

慕無(wú)忌1623718 2021-09-02 14:43:47
dfcol1  col2A      a|x|yB      a|x|yC      c|x|zD      e|j|y我的目標(biāo)是創(chuàng)建一個(gè)名為“status”的新列,以查看 col1 中的條目是否是 col2 中的條目之一(由管道分隔)。輸出應(yīng)該是這樣的col1  col2     statusA      a|x|y   TrueB      a|x|y   FalseC      c|x|z   TrueD      e|j|y   False我的代碼:df["col1"]= df["col1"].str.lower()df['status']=df['col1'].isin(df['col2']) 但這將“狀態(tài)”列中的所有條目都設(shè)為 False請(qǐng)幫我解決這個(gè)問(wèn)題,拜托!?。?
查看完整描述

3 回答

?
慕斯王

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

與此答案類似,您可以使用列表理解。假設(shè)您的數(shù)據(jù)是干凈的,例如沒(méi)有空值。


zipper = zip(df['col1'], df['col2'])

df['status'] = [i.casefold() in j.casefold().split('|') for i, j in zipper]


print(df)


  col1   col2 status

0    A  a|x|y   True

1    B  a|x|y  False

2    C  c|x|z   True

3    D  e|j|y  False


查看完整回答
反對(duì) 回復(fù) 2021-09-02
?
www說(shuō)

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

也許您應(yīng)該首先將數(shù)據(jù)框轉(zhuǎn)換為更易于使用的格式。


我建議這樣的事情:


>>> df = pd.concat([df['col1'], df['col2'].str.upper().str.split('|', expand=True)], axis=1)                                                                                                             

>>> df                                                                                                                                                                                                   

  col1  0  1  2

0    A  A  X  Y

1    B  A  X  Y

2    C  C  X  Z

3    D  E  J  Y

現(xiàn)在你可以這樣做:


>>> df['status'] = df.apply(lambda s: s.duplicated().any(), axis=1)                                                                                                                                     

>>> df                                                                                                                                                                                                    

  col1  0  1  2  status

0    A  A  X  Y    True

1    B  A  X  Y   False

2    C  C  X  Z    True

3    D  E  J  Y   False

此解決方案假定您分隔的狀態(tài)指示器'|'是唯一的,即您不能擁有類似'x|x|x'.


如果您不喜歡該建議,請(qǐng)考慮:


>>> df['status'] = df.apply(lambda row: row[0].lower() in row[1].split('|'), axis=1)                                                                                                                     

>>> df                                                                                                                                                                                                  

   col1   col2  status

0    A  a|x|y    True

1    B  a|x|y   False

2    C  c|x|z    True

3    D  e|j|y   False


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

添加回答

舉報(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)