python - 根据起始字母从数据框中的列中提取值
问题描述
希望每个人都做得很好。我正在使用 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 很陌生,所以请尽可能清楚地解释。谢谢你。
解决方案
鉴于帖子中的评论,我相信您可以通过以下方式完成:
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.')]
推荐阅读
- r - 在 r 中引用不同长度的逻辑向量
- c# - Node.js 中某些命名空间 C# 的替代方案
- java - UDP - 如何获取传入数据报的目标地址
- apache - 我必须做什么才能使 SSL 在这里工作?
- go - 如何使用 golang 删除 bigquery 表中的行
- python - Flask 没有得到预选的活动复选框
- python - Python Socket - 连接尝试失败
- javascript - 如何使用javascript更改svg中路径的颜色?
- c# - 如何在 .NET 中创建一个通用方法来捕获我的应用程序中具有不同签名的不同方法的延迟(经过时间)?
- typescript - 如何告诉打字稿有关从另一个模块“混合”的功能?