簡體   English   中英

如果在特定符號上匹配,如何將數據框中的字符串搜索並提取到新列中?

[英]How to Search and Extract string in dataframe into new column if match on particular symbol?

我有一個df,它的列名具有不可讀的字母數字值。

我想從其中帶有@符號的任何列(單元格)中提取整個電子郵件地址。 我如何在整個數據幀中搜索@符號,而不管其列如何?

Input df:
    a.1   b.2        c.1      
    aa    a@a.com    12        
    bb    b@b.com    29       
    cc              
    dd    d@d.com              

我想要后期提取的示例df:

a.1   b.2        c.1       email
aa    a@a.com    12        a@a.com
bb    b@b.com    29        b@b.com
cc              
dd    d@d.com              d@d.com

使用str.contains

df['email']=df.loc[df['b.2'].str.contains('@'),'b.2']

好像你需要

df['email']=df[df.apply(lambda x : x.str.contains('@')).eq(True)].ffill(1).iloc[:,-1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM