email
「@ gmail.com」または「@ googlemail.com」で終わる列のすべてのメールドメインを検索し、対応するdomain
列をGoogleに変更しようとしています。
私はこのようなことを試みました:
df.loc[df.email.[-9:] != "gmail.com", "domain"] = "Google"
df.loc[df.email.[-14:] != "googlemail.com", "domain"] = "Google"
うまくいかなかったので
DFビフォアの例
index | email | ... | domain
0 | "[email protected]" | ... | ""
1 | "[email protected]" | ... | "Site"
2 | "[email protected]" | ... | ""
3 | "[email protected]" | ... | ""
DF後の例
index | email | ... | domain
0 | "[email protected]" | ... | "Google"
1 | "[email protected]" | ... | "Site"
2 | "[email protected]" | ... | "Google"
3 | "[email protected]" | ... | ""
str.endswith
ブールマスクに使用し、loc
またはnumpy.where
:によって条件ごとに値を設定します。
L = ['gmail.com', 'googlemail.com']
df.loc[df['email'].str.endswith(tuple(L)), 'domain'] = 'Google'
または:
df['domain'] = np.where(df['email'].str.endswith(tuple(L)), 'Google', df['domain'])
print (df)
email ... domain
0 [email protected] ... Google
1 [email protected] ... Site
2 [email protected] ... Google
3 [email protected] ... NaN
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加