首页 > 解决方案 > 仅过滤列中的某些行?

问题描述

如果我在下面有一个df:

name|
Bob
3245
Chris
Amy
Chris
3242424
Amy

如果我只想为 amy 归档但保留所有有数字的行,我该怎么做?

基本上过滤所有文本为 amy 的行,但也包括所有其他不是名称但也包括数字的行?

输出:

name|
3245
Amy
3242424
Amy

谢谢

标签: pythonpython-3.xpandas

解决方案


你可以试试.str.match

df[df['name'].str.match('Amy').fillna(True) ]

或者你可以试试你的逻辑:

mask = df['name'].eq('Amy') | df['name'].astype(str).str.isnumeric()
df[mask]

输出:

      name
1     3245
3      Amy
5  3242424
6      Amy

推荐阅读