如何删除Name列以左括号开头的DataFrame行?
解决方法:删除DataFrame中Name列以"("开头的行
没问题,这事儿用pandas的字符串方法就能轻松搞定。先看具体操作步骤:
首先,先创建你提供的DataFrame(如果还没初始化的话):
import pandas as pd # 初始化目标DataFrame df = pd.DataFrame({ 'Name': ['Eric', '(Joe)', 'Mike', 'Nick', '(Dave)', 'Steve'], 'Height': [64, 67, 66, 72, 69, 73] })
接下来,我们用str.startswith()方法识别哪些行的Name列以左括号开头,再用~符号取反,保留不符合这个条件的行:
# 过滤掉Name以"("开头的行 filtered_df = df[~df['Name'].str.startswith('(')]
执行完这段代码后,filtered_df就是你想要的结果:
Name Height 0 Eric 64 2 Mike 66 3 Nick 72 5 Steve 73
补充说明
如果你的Name列可能存在开头带空白字符的情况(比如" (Joe)"),可以先调用str.strip()去除首尾空白,再判断:
# 处理可能带空白的边界情况 filtered_df = df[~df['Name'].str.strip().startswith('(')]
这样就能确保不会漏掉那些开头有空格再跟括号的行啦。
内容的提问来源于stack exchange,提问作者887
相关产品推荐
相关产品推荐

