Blu*_*oon 4 python string dataframe pandas
我有一个熊猫数据帧如下:
mail = DataFrame({'mail' : ['adv@gmail.com', 'fhngn@gmail.com', 'foinfo@yahoo.com', 'njfjrnfjrn@yahoo.com', 'nfjebfjen@hotmail.com', 'gnrgiprou@hotmail.com', 'jfei@hotmail.com']})
Run Code Online (Sandbox Code Playgroud)
看起来像:
mail
0 adv@gmail.com
1 fhngn@gmail.com
2 foinfo@yahoo.com
3 njfjrnfjrn@yahoo.com
4 nfjebfjen@hotmail.com
5 gnrgiprou@hotmail.com
6 jfei@hotmail.com
Run Code Online (Sandbox Code Playgroud)
我想要做的是过滤掉(消除)列邮件中的值以“@gmail.com”结尾的所有行。
您可以使用str.endswith和否定布尔系列的结果~:
mail[~mail['mail'].str.endswith('@gmail.com')]
Run Code Online (Sandbox Code Playgroud)
其中产生:
mail
2 foinfo@yahoo.com
3 njfjrnfjrn@yahoo.com
4 nfjebfjen@hotmail.com
5 gnrgiprou@hotmail.com
6 jfei@hotmail.com
Run Code Online (Sandbox Code Playgroud)
Pandas 有许多其他矢量化字符串操作,可以通过访问器访问.str。Python 自己的字符串方法可以立即熟悉其中的许多方法,但它们将内置于NaN值的处理中。