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

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

pandas 提取模式后的所有字符和數字

pandas 提取模式后的所有字符和數字

呼如林 2023-01-04 11:12:29
我想提取所有數字和字符,而不考慮“V”之后的模式。問題是我不能簡單地接受“V”之后的所有內容并包括在內,因為一些街道名稱以“V”開頭。我嘗試了以下方法:df = pd.DataFrame({'X': ['Seasame Street Apt 2 V2575', 'Happy Violet Street Apt 1 V2575B', 'Violet Street Apt 3 V25B75']}) df['Y'] = df['X'].str.extract('(V\/?\d+)')我希望最終輸出如下所示:pd.DataFrame({'X': ['Seasame Street Apt 2 V2575', 'Happy Violet Street Apt 1 V2575B', 'Violet Street Apt 3 V25B75'],                            'Y': ['V2575', 'V2575B', 'V25B75']})
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

假設期望V的部分后面總是跟著一個數字:


df["Y"] = df["X"].str.extract("(V\d.+)")

print(df)

輸出


                                  X       Y

0        Seasame Street Apt 2 V2575   V2575

1  Happy Violet Street Apt 1 V2575B  V2575B

2        Violet Street Apt 3 V25B75  V25B75


查看完整回答
反對 回復 2023-01-04
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

另一種使用np.where()和的方式str.split(' ')

df['Y'] = np.where((df['X'].str.split(' ').str[-1][0][0].lower() == 'v'), df['X'].str.split(' ').str[-1], '')



查看完整回答
反對 回復 2023-01-04
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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