在以下熊猫df中,如何检查电子邮件列中是否包含姓名和姓氏?
Ex df:
header: f_name l_name email
values Peter Gabriel peter.gabriel@email.com
如何检查电子邮件peter.gabriel
是否与f_name
和l_name
值相对应?
如何打印错误的行?
我正在将.csv
文件中的信息读取为
contacts = pd.read_csv('contacts.csv')
contacts_df = pd.DataFrame(contacts)
答案 0 :(得分:0)
我想出了一些主意。请尝试:)
首先,我有一个功能正在检查您的状况:
def check(row):
return f"{row['f_name'].lower()}.{row['l_name'].lower()}" in row['email']
这时,您只需要使用以下方法即可
:df['is_correct'] = df.apply(check, axis=1)
输出:
出现问题时,您将得到以下信息:
email f_name l_name is_correct
0 dawid.sielski@sth.com Dawidd Sielski False # double 'd' at the end of the name
一切正常后,它将看起来像这样:
email f_name l_name is_correct
0 dawid.sielski@sth.com Dawid Sielski True
答案 1 :(得分:0)
df['new'] = df2['f_name'].str.lower()+'.'+df2['l_name'].str.lower()
print(df.apply(lambda x: x['new'] in x['email'], axis=1))
这将为您提供一系列的对与错,可以告诉您电子邮件地址是否合适。