亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何根據列表從熊貓數據框中過濾子字符串?

如何根據列表從熊貓數據框中過濾子字符串?

UYOU 2021-08-24 17:20:24
我知道這是一個被反復問過的問題,但我對列表理解不太擅長,而且我的代碼有一點小變化。我有一個包含關鍵字的數據框,如果關鍵字包含一個或多個專用列表中的關鍵字,我想過濾它們。請注意,我不是在尋找確切的表達式,只是在數據框中出現子字符串?;旧衔艺J為它應該是這樣的:substring_list = ['abc', 'def']df[df['tag'].str.contains(substring) for substring in substring_list]我不斷收到語法錯誤。有什么想法嗎?感謝支持!
查看完整描述

3 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

Pandas 進行二進制過濾,因此它返回一個 True / False 列表,對應于字符串是否包含您的鍵,您可以對所有條件進行按位運算和運算,因此您可以獲得包含所有子字符串的字符串或其中任何一個(取決于您使用的是 'and' & 還是 'or' | )

df[df['tag'].str.contains('abc') | df['tag'].str.contains('def')]


查看完整回答
反對 回復 2021-08-24
?
達令說

TA貢獻1821條經驗 獲得超6個贊

簡單地試試這個:


通過將模式中的單詞與|以下內容連接來構建正則表達式來使用模式庫搜索:


df[df.tag.str.contains('|'.join(substring_list))]

如果您只有幾個字符串要搜索,那么 simple 可以像下面這樣使用:


df[df.tag.str.contains("abc|def")]

示例說明:


>>> df

   tag

0  abc

1  edf

2  abc

3  def

4  efg


>>> df[df.tag.str.contains("abc|def")]

   tag

0  abc

2  abc

3  def


>>> substring_list = ['abc', 'def']



>>> df[df.tag.str.contains('|'.join(substring_list))]

   tag

0  abc

2  abc

3  def


查看完整回答
反對 回復 2021-08-24
?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

使用:

df['tag'].str.contains('|'.join(substring_list))


查看完整回答
反對 回復 2021-08-24
  • 3 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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