首页 > 解决方案 > 根据起始字母从数据框中的列中提取值

问题描述

希望每个人都做得很好。我正在使用 pandas 和 numpy,我想根据 Dataframe 中的前 3 个字母(ap.)提取列值。下面是我的数据框的一个例子。

姓名 数字
橙子 2
苹果 6
1
AP.19 1
Juap.rte 3

我试过 df[df['Name'].str.lower().str.contains('ap.', na=False)].Name.unique() 但它并没有完全做到这一点。

输出:

['AP.19','Ap.ricot']

理想情况下,输出应该是一个列表,然后我可以将其保存到变量中。此外,这 3 个字母需要在开头并按此顺序排列。

我对 Python 很陌生,所以请尽可能清楚地解释。谢谢你。

标签: pythonpandasstringlistdataframe

解决方案


鉴于帖子中的评论,我相信您可以通过以下方式完成:

ap = [x for x in df['Name'] if x.lower().startswith('ap.')]

如果您不希望有重复,那么您可以使用:

ap = [x for x in df['Name'].unique() if x.lower().startswith('ap.')]

推荐阅读