You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据Name列字符串的末尾两个字符筛选Pandas DataFrame?

按Name列末尾字符筛选Pandas DataFrame行的方法

这事儿很简单,用Pandas里的str.endswith()方法就能轻松搞定,我给你一步步拆解:

第一步:先构造你的DataFrame(还原你给出的示例数据)

首先我们把你提供的数据转换成标准的Pandas DataFrame:

import pandas as pd

data = {
    'Name': ['ADAMSAE', 'BAKERDE', 'CLARKAE', 'DAVISDE', 'EVANSAE'],
    'Sale Value': [1475000, 1412000, 1480450, 1483700, 1285000]
}
df = pd.DataFrame(data)

第二步:筛选末尾为"AE"的行

直接用str.endswith('AE')判断Name列的字符串是否以指定后缀结尾,再通过布尔索引筛选行:

AE_df = df[df['Name'].str.endswith('AE')]
print(AE_df)

运行后输出的结果就是你想要的:

Name Sale Value
0 ADAMSAE 1475000
2 CLARKAE 1480450
4 EVANSAE 1285000

第三步:筛选末尾为"DE"的行

用同样的逻辑处理DE后缀即可:

DE_df = df[df['Name'].str.endswith('DE')]
print(DE_df)

输出结果:

Name Sale Value
1 BAKERDE 1412000
3 DAVISDE 1483700

额外小技巧:同时筛选多个后缀

如果之后你需要一次性筛选多个后缀(比如同时获取AE和DE的行),可以把后缀放进元组里传给str.endswith():

combined_df = df[df['Name'].str.endswith(('AE', 'DE'))]

注意事项

如果你的Name列不是字符串类型,可能会触发报错,这时候可以先把列转成字符串类型:

df['Name'] = df['Name'].astype(str)

内容的提问来源于stack exchange,提问作者user18321664

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 14:34:08