国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python:UserWarning:此模式具有匹配組。要實際獲得組,請使用str.extract

瀏覽:9日期:2022-08-07 13:30:45
如何解決Python:UserWarning:此模式具有匹配組。要實際獲得組,請使用str.extract?

中的至少一個正則表達式模式urls必須使用捕獲組。 str.contains僅針對其中的每一行返回True或Falsedf[’event_time’]-不使用捕獲組。因此,UserWarning警告您正則表達式使用捕獲組,但未使用匹配項。

如果要刪除,則UserWarning可以從正則表達式模式中找到并刪除捕獲組。它們沒有顯示在您發布的正則表達式模式中,但是它們必須在您的實際文件中。在字符類之外查找括號。

或者,您可以通過以下方式禁止此特定的UserWarning

import warningswarnings.filterwarnings('ignore', ’This pattern has match groups’)

在致電之前str.contains。

這是一個簡單的示例,演示了問題(和解決方案):

# import warnings# warnings.filterwarnings('ignore', ’This pattern has match groups’) # uncomment to suppress the UserWarningimport pandas as pddf = pd.DataFrame({ ’event_time’: [’gouda’, ’stilton’, ’gruyere’]})urls = pd.DataFrame({’url’: [’g(.*)’]}) # With a capturing group, there is a UserWarning# urls = pd.DataFrame({’url’: [’g.*’]}) # Without a capturing group, there is no UserWarning. Uncommenting this line avoids the UserWarning.substr = urls.url.values.tolist()df[df[’event_time’].str.contains(’|’.join(substr), regex=True)]

版畫

script.py:10: UserWarning: This pattern has match groups. To actually get the groups, use str.extract. df[df[’event_time’].str.contains(’|’.join(substr), regex=True)]

從正則表達式模式中刪除捕獲組:

urls = pd.DataFrame({’url’: [’g.*’]})

避免了UserWarning。

解決方法

我有一個數據框,我嘗試獲取字符串,其中的列上包含一些字符串Df像

member_id,event_path,event_time,event_duration30595,'2016-03-30 12:27:33',yandex.ru/,130595,'2016-03-30 12:31:42',030595,'2016-03-30 12:31:43',yandex.ru/search/?lr=10738&msid=22901.25826.1459330364.89548&text=%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%D1%8B+%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD&suggest_reqid=168542624144922467267026838391360&csg=3381%2C3938%2C2%2C3%2C1%2C0%2C0,'2016-03-30 12:31:44','2016-03-30 12:31:45','2016-03-30 12:31:46','2016-03-30 12:31:49',kinogo.co/,'2016-03-30 12:32:11',kinogo.co/melodramy/,0

和另一個帶有網址的df

url003.ru/[a-zA-Z0-9-_%$#?.:+=|()]+/mobilnyj_telefon_bq_phoenix003.ru/[a-zA-Z0-9-_%$#?.:+=|()]+/mobilnyj_telefon_fly_003.ru/sonyxperia003.ru/[a-zA-Z0-9-_%$#?.:+=|()]+/mobilnye_telefony_smartfony003.ru/[a-zA-Z0-9-_%$#?.:+=|()]+/mobilnye_telefony_smartfony/brands5D5Bbr_231click.ru/sonyxperia1click.ru/[a-zA-Z0-9-_%$#?.:+=|()]+/chasy-motorola

我用

urls = pd.read_csv(’relevant_url1.csv’,error_bad_lines=False)substr = urls.url.values.tolist()data = pd.read_csv(’data_nts2.csv’,error_bad_lines=False,chunksize=50000)result = pd.DataFrame()for i,df in enumerate(data): res = df[df[’event_time’].str.contains(’|’.join(substr),regex=True)]

但它還給我

UserWarning: This pattern has match groups. To actually get the groups,use str.extract.

我該如何解決?

標簽: Python 編程
主站蜘蛛池模板: 朔州市| 珲春市| 景谷| 奎屯市| 广西| 饶平县| 缙云县| 鄢陵县| 商城县| 中宁县| 泰顺县| 台北县| 舒兰市| 栾川县| 德兴市| 兖州市| 东源县| 崇阳县| 沂源县| 济南市| 黑河市| 墨江| 石渠县| 太白县| 海盐县| 阿拉尔市| 洛宁县| 普陀区| 濮阳市| 潼关县| 响水县| 巴青县| 安康市| 城口县| 江津市| 崇明县| 黎平县| 高安市| 徐闻县| 衡水市| 大渡口区|