大佬教程收集整理的这篇文章主要介绍了Pandas 条件 Vlookup 循环,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个数据框,我想用它作为交叉引用来填充主数据框“业务”字段的缺失值。
外部参照
Material Type Business
0 XXX 111
1 YYY 222
2 ZZZ 333
主要
@H_36_9@material Type Business 0 XXX 1 YYY 222 2 ZZZ
我知道我可以将两个数据集“合并”在一起,但这会复制 Business 列,我将不得不编写一些清理代码。我感兴趣的是一个简单的循环 lambda 函数。循环遍历元素可能位于列表/字典项目位置。关于如何写这个有什么想法吗?
您可以使用combine_first
:
>>> main.combine_first(xref)
Material Type Business
0 XXX 111.0
1 YYY 222.0
2 ZZZ 333.0
,
>>> import pandas as pd
>>> xref = pd.DataFrame({"material": ["XXX","YYY","ZZZ"],"business": [111,222,333]})
>>> main = pd.DataFrame({"material": ["XXX","business": [None,None]})
>>> xref
material business
0 XXX 111
1 YYY 222
2 ZZZ 333
>>> main
material business
0 XXX NaN
1 YYY 222.0
2 ZZZ NaN
您只需通过材料列索引 xref
数据框,然后一次性为 @H_36_9@main 中的每个条目设置正确的业务:
>>> main["business"] = xref.set_index("material")["business"].loc[main["material"]].values
>>> main
material business
0 XXX 111
1 YYY 222
2 ZZZ 333
以上是大佬教程为你收集整理的Pandas 条件 Vlookup 循环全部内容,希望文章能够帮你解决Pandas 条件 Vlookup 循环所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。