嘗試使用正則運算式僅選擇衣服的尺寸
所以我是 Python 的新手,我試圖選擇行來找到這些大小,但與其他詞混淆了。我使用正則運算式但未能獲得所需的結果。
代碼:
df = pd.DataFrame({"description":["Silver","Red","GOLD","Black Leather","S","L","S","XL","XXL","Noir Matt"," 150x160L","140M"]})
df.description.apply(lambda x : x if re.findall(r"(?!\s \d )(S|M|X*L)(?!\s \d )",str(x)) else np.nan).unique()
輸出:
array(['Silver', nan, 'Black Leather', 'S', 'L', 'XL', 'XXL', 'Noir Matt',
' 150x160L', '140M'], dtype=object)
預期的:
array([ 'S', 'L', 'XL', 'XXL',nan], dtype=object)
uj5u.com熱心網友回復:
我認為你需要使用
import pandas as pd
df = pd.DataFrame({"description":["Silver","Red","GOLD","Black Leather","S","L","S","XL","XXL","Noir Matt"," 150x160L","140M"]})
df['description'][df['description'].str.match(r'^(?:S|M|X*L)$')].unique()
# => array(['S', 'L', 'XL', 'XXL'], dtype=object)
使用,您可以對完全匹配、、零個或多個s 以及值Series.str.match(r'^(?:S|M|X*L)$')的列的部分進行子集化。descriptionSMXL
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/534031.html
