Я думаю, вы хотите что-то вроде этого:
df = pd.read_csv('data.csv', sep=';'). # i just save your data in csv and read it then
df
out:
Company Email__c Action Internal_Email Alt_Email
0 CompX doug@compx.com View ruda@compx.com sales@compx.com
1 Doit Inc try@doit.com.au View pop@doit.com info@doit.com
2 PIA mbosi@pia.com Sell voss@pia1.com info@pia.com
3 Techy pat@techy.com.br Buy tra@techy.com.br contat@techy1.com.br
4 Techy pat@techy.com.br Buy tra@techy.com.br contat@techy.com.br
Условия обработки:
df['email_c_domain'] = [x.split('@')[1] for x in df['Email__c']] # make additional column with only domain
df['filter_out_1'] = [x.split('@')[1] for x in df['Internal_Email']] # make additional column with only domain
df['filter_out_2'] = [x.split('@')[1] for x in df['Alt_Email']] # make additional column with only domain
df['match_1'] = (df['email_c_domain'] == (df['filter_out_1'])) # match domains from email_c to Internal_email
df['match_2'] = (df['email_c_domain'] == (df['filter_out_2'])) # match domains from email_c to Alt_email
df['filtered_out'] = df['match_1'] | df['match_2'] # chose if one of match will true
Теперь df выглядит так:
Company Email__c Action Internal_Email Alt_Email email_c_domain filter_out_1 filter_out_2 match_1 match_2 filtered_out
0 CompX doug@compx.com View ruda@compx.com sales@compx.com compx.com compx.com compx.com True True True
1 Doit Inc try@doit.com.au View pop@doit.com info@doit.com doit.com.au doit.com doit.com False False False
2 PIA mbosi@pia.com Sell voss@pia1.com info@pia.com pia.com pia1.com pia.com False True True
3 Techy pat@techy.com.br Buy tra@techy.com.br contat@techy1.com.br techy.com.br techy.com.br techy1.com.br True False True
4 Techy pat@techy.com.br Buy tra@techy.com.br contat@techy.com.br techy.com.br techy.com.br techy.com.br True True True
А теперь давайте отфильтруем его:
df[df['filtered_out'] == False]
Вывод:
Company Email__c Action Internal_Email Alt_Email email_c_domain filter_out_1 filter_out_2 match_1 match_2 filtered_out
1 Doit Inc try@doit.com.au View pop@doit.com info@doit.com doit.com.au doit.com doit.com False False False