如何在Pandas DataFrame中删除URL末尾为-program的行?
解决Pandas删除URL末尾为“-program”行的问题
你原来用str.contains()会把所有包含"-program"的行都删掉,因为它匹配的是字符串任意位置的子串,自然会命中URL里的"/courses-and-programs/"部分。
要只删除末尾是"-program"的行,直接用Pandas的str.endswith()方法就行,它专门用来判断字符串是否以指定后缀结尾:
df = df[df["my_url"].str.endswith("-program") == False]
或者更简洁的写法,用取反操作符~:
df = df[~df["my_url"].str.endswith("-program")]
这样就只会过滤掉那些URL**最后8个字符正好是"-program"**的行,不会误删包含该子串但不在末尾的行。
内容的提问来源于stack exchange,提问作者Benny
相关产品推荐
相关产品推荐

