如何在Pandas中移除Name列包含数值的行
移除DataFrame中Name列包含数值的行
首先基于你提供的数据创建DataFrame:
import pandas as pd data = [['tom', 10], ['nick', 15], ['juli', 14],['00012', 14],['abc123', 14]] df = pd.DataFrame(data, columns=['Name', 'Age'])
要移除Name列包含数值的行,可利用pandas字符串方法结合正则表达式实现筛选:
# 筛选Name列不包含任何数字的行 filtered_df = df[~df['Name'].str.contains(r'\d')] print(filtered_df)
运行后会得到你期望的结果:
Name Age 0 tom 10 1 nick 15 2 juli 14
补充说明
df['Name'].str.contains(r'\d'):检查Name列每个字符串是否包含数字(\d是正则表达式匹配任意数字的元字符),返回布尔类型的Series。~:对布尔Series取反,将包含数字的行标记为False,不包含数字的行标记为True。- 通过布尔索引筛选后,即可得到仅保留Name列不含数字的DataFrame。
内容的提问来源于stack exchange,提问作者spartacus8w2039
相关产品推荐
相关产品推荐

