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

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

根據正則表達式在數(shù)據框中設置一列

根據正則表達式在數(shù)據框中設置一列

ITMISS 2021-12-16 16:10:02
我正在嘗試根據正則表達式將數(shù)據框中的一列設置為另一列的子字符串。一欄有標題,有時還有年份,例如“Temp (2019)”或“Temp”。我需要從該標題中提取年份(如果有的話),然后從原始單詞中刪除年份。因此,不是將一列作為“Temp (2019)”,而是有兩列,一列是“Temp”,另一列是“2019”。如果標題沒有單詞,則輸入 0。regex = r"\(\d{4}\)$"tempYear = df['title'].str[-5:-1]df['year'] = np.where(re.search(regex, df['title']) != None, df['title'].str[-5:-1], "0")現(xiàn)在,當我運行它時,我收到此錯誤:Exception has occurred: TypeErrorexpected string or bytes-like object  File "[path]", line 63, in <module>    df['year'] = np.where(re.search(regex, df['title']) != None, df['title'].str[-5:-1], "0")我認為這是因為我使用了第一個條件(如果條件為真),因為它是一個列表(我認為)而不是單個單詞。換句話說,if 語句具有多種類型。我不知道如何在沒有它的情況下從標題中提取年份。標題,如果有年份,將始終采用“[word] ([year])”格式,年份在末尾,在括號中。我可以輕松做到df['year'] = df['title'].str[-5:-1]但是當沒有一年時,這會導致問題。
查看完整描述

1 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

在 Pandas 中,str提供正則表達式處理,而標準庫re模塊不能處理 Pandas 系列而不是 numpy 數(shù)組。

所以你想要的東西可以更容易地通過熊貓函數(shù)獲得:

df['year'] = np.where(df.title.str.contains(regex), df['title'].str[-5:-1], "0")


查看完整回答
反對 回復 2021-12-16
  • 1 回答
  • 0 關注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號