[英]Remove a SPECIFIC url from a string in a pandas dataframe
我有一個數據框:
Name url
A 'https://foo.com, https://www.bar.org, https://goo.com'
B 'https://foo.com, https://www.bar.org, https://www.goo.com'
C 'https://foo.com, https://www.bar.org, https://goo.com'
然后是關鍵字列表:
keyword_list = ['foo','bar']
我正在嘗試刪除包含關鍵字的網址,同時保留不包含這些關鍵字的網址,到目前為止,這是唯一對我有用的方法,但是它僅刪除了該單詞的實例:
df['url'] = df['url'].str.replace('|'.join(keywordlist), ' ')
我試圖將字符串中的元素轉換為列表,但是將其與部分較大的數據框組合回去時卻遇到索引錯誤,之前有人遇到過這種情況嗎?
所需的輸出:
Name url
A 'https://goo.com'
B 'https://www.goo.com'
C 'https://goo.com'
我很確定您可以使用一些正則表達式來做到這一點。 但是您也可以這樣做:
new_df = df.set_index('Name').url.str.split(',\s+', expand=True).stack()
(new_df[~new_df.str.contains('|'.join(keyword_list))]
.reset_index(level=1, drop=True)
.to_frame(name='url')
.reset_index()
)
輸出:
Name url
0 A https://goo.com
1 B https://www.goo.com
2 C https://goo.com
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.