python - 从数据框中搜索单元格中的每个字符串并从另一个数据框列中查找(匹配)相同的字符串将索引返回到新准备的数据框
问题描述
Dataframe 1(每个词都需要搜索)'NAN'
表示单元格是空的
0 1 2
0 AA BB NAN
1 AB AC AD
数据框 2(只有第 0 列必须与数据框 1 的每个项匹配,并从数据框 2 返回行索引,以便我们可以使用来自数据框 2 的行索引信息创建一个新数据框)
0
0 AA
1 AC
2 AD
3 AB
结果 DATAFRAME 2 第 1 列的行索引。NA
表示字符串在数据框 2 中不可用。
0 1 2
0 0 NA NAN
1 3 1 2
现在另一个问题如何使代码更快。
解决方案
这是一种方法:
t = pd.merge(df1.stack().reset_index(), df2.reset_index(), left_on = 0, right_on = "0")
res = t.set_index(["level_0", "level_1"]).drop([0, "0"], axis=1).unstack()
print(res)
输出是:
index
level_1 0 1 2
level_0
0 0.0 NaN NaN
1 3.0 1.0 2.0
推荐阅读
- python - 尝试使用 Flask 中的渲染模板重定向到另一个 HTML 页面
- python - 检查输入时出错:预期输入为 3 维,但得到的数组形状为 (50, 1)
- python - 如何使用熊猫从csv中的2列中获取重复值列表
- .htaccess - 如何将此 htaccess 转换为 iis web.config?
- python - 自动从分组数据框中创建新数据框
- firebase - 函数执行耗时 60002 毫秒,完成状态为:可调用函数的“超时”
- java - 如何同时填写多个表
- sql - 如何根据其他列的值更新列
- html - 颜色被覆盖,但css中的文本装饰
- angular - 离子选择和离子日期时间的离子通过值计算