python - 数据框长迭代
问题描述
亲爱的,我的数据框包含许多列和行(40000 行),如下所示,
许多行的“CVLAN_description”列是 NAN,如果两列相等('C-VLAN' 和 'SPO 名称'),我想用其他行填充它在某些条件下具有值,这意味着通过传统方式我将有两个内部 for 循环将每一行迭代到所有行以查看条件是否匹配,这将导致 40000*40000 次迭代,在我的笔记本电脑上运行我的代码时可能需要几个小时:
for index, row in with_VLANe_after.iterrows():
if row['CVLAN_description']!='nan':
for index2, row2 in with_VLANe_after.iterrows():
if row['C-VLAN'] ==row2['C-VLAN'] and
row2['Service_name']=='nan' and row['SPO Name']
==row2['SPO Name'] and
row['S-VLAN'] ==row2['S-VLAN'] : with_VLANe_after.set_value(index2,'CVLAN_description',row['CVLAN_description'])
print (row['CVLAN_description'])
任何人都可以帮助我避免长时间的迭代。
解决方案
推荐阅读
- mongodb - 邮递员应用程序显示无法连接到服务器的错误
- lua - Lua 错误:Main.lua:131:尝试索引本地“向上”(一个 nil 值)堆栈回溯:
- javascript - 与 Safari 和 Apple Pay 模式交互
- apache-kafka - KSQL Join 流与结构字段上的条件
- android - 安全购买溢价 IAP
- python - ResourceWarning:运行python selenium unittest时出现未关闭的文件错误
- azure - Azure 资源管理器模板:条件部署
- c# - 附加到较新版本的 LocalDb 时防止更新 MDF 文件
- ios - SwiftUI:获取动态背景颜色(深色模式或浅色模式)
- laravel - 如何在 laravel 分页中获得总结果?