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

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

pandas 中的子字符串函數(shù)

pandas 中的子字符串函數(shù)

絕地無雙 2023-12-08 17:09:30
檢查 pandas 字段中是否包含字符串的正確方法是什么?例如,我有:np.where('DIGITAL_SOURCE' in df['file_name'], 1, 0)但我收到 Pandas 的以下投訴:類型錯誤:“系列”對象是可變的,因此它們不能被散列正確的做法是什么substr in str?我相信正確的答案是使用str.contains,但在語法上遇到了一些問題。
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

如注釋中所述,您可以使用.str.contains(注意regex=False, 不將字符串視為正則表達式):


df = pd.DataFrame({'file_name': ['DIGITAL_SOURCE', 'Other1', 'Other3']})


df['contains'] = df['file_name'].str.contains('DIGITAL_SOURCE', regex=False).astype(int)

print(df)

印刷:


        file_name  contains

0  DIGITAL_SOURCE         1

1          Other1         0

2          Other3         0


查看完整回答
反對 回復 2023-12-08
?
MMTTMM

TA貢獻1869條經(jīng)驗 獲得超4個贊

你應該做isin

np.where( df['file_name'].isin(['DIGITAL_SOURCE']), 1, 0)
#df['file_name'].isin(['DIGITAL_SOURCE']).astype(int)


查看完整回答
反對 回復 2023-12-08
?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

您還可以應用 lambda,這樣:


 df['new_column'] = df.apply(lambda x: 1 if 'DIGITAL_SOURCE' in x['file_name'] else 0, axis=1 )

例子:


df = pd.DataFrame({"LOCATION":["USA","USA","USA","USA","JAPAN","JAPAN"],"file_name":["DIGITAL","DIGITAL","DIGITAL","DIGITAL","DIGITAL_SOURCE","DIGITAL_SOURCE"]})

 


    LOCATION    file_name

0   USA        DIGITAL

1   USA        DIGITAL

2   USA        DIGITAL

3   USA        DIGITAL

4   JAPAN      DIGITAL_SOURCE

5   JAPAN      DIGITAL_SOURCE



df['new_cl'] = df.apply(lambda x: 1 if 'DIGITAL_SOURCE' in x['file_name'] else 0, axis=1 )



    LOCATION    file_name      new_cl

0   USA          DIGITAL        0

1   USA          DIGITAL        0

2   USA          DIGITAL        0

3   USA          DIGITAL        0

4   JAPAN        DIGITAL_SOURCE 1

5   JAPAN        DIGITAL_SOURCE 1


查看完整回答
反對 回復 2023-12-08
  • 3 回答
  • 0 關(guān)注
  • 276 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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