python-3.x - 如何查找列表是否是数据框列中字符串的子字符串?
问题描述
我面临着从 DataFrame 列中的列表中查找子字符串的挑战
list =['ab', 'bc', 'ca']
DF1
Index|A
0 |ajbijio_ab_jadds
1 |bhjbj_ab_jiui
Expected OUTPUT:
DF
ab
ab
我写了一些东西,但它给出了错误 unhashable type: 'list'
DF1['A'].str.lower().str.contains(list)
解决方案
使用str.extract
前任:
import pandas as pd
lst =['ab','bc','ca']
df = pd.DataFrame({"A": ["ajbijio_ab_jadds", "bhjbj_ab_jiui", "Hello World"]})
df["Found"] = df["A"].str.extract("(" + "|".join(lst) + ")")
print(df)
输出:
A Found
0 ajbijio_ab_jadds ab
1 bhjbj_ab_jiui ab
2 Hello World NaN
推荐阅读
- css - 具有非标准“正常”行高的字体
- php - 使用 hasMany 关系进行雄辩的急切加载不起作用
- jquery - jQuery 点击事件不适用于移动设备上的 SVG 元素
- mongodb - 在 MongoDB 集合中重命名数组中的属性
- netsuite - 迁移到 NetSuite SDF SuiteApp
- c# - UWP 将 MainView 替换为全屏框架
- mysql - 如何连接到 mysql 并在 Jenkins 自由式作业中传递凭据
- java - 如何在我初始化扩展片段时停止调用父片段的onActivityCreated?
- react-native - 在本机反应中运行后台任务的最佳方法是什么?
- xamarin.forms - 如何在 Xamarin.iOS 设计器中更改 xib 的大小?