python pandas series加速原理_在python中使用pandas加速类似vlookup的操作

本文介绍如何加速Python中的Pandas Series操作,特别是针对类似VLOOKUP的功能。通过遍历dbase1_df的行,匹配sgo_df中的mkey值,获取对应type,然后在merged_df中找到匹配的GRID值,输出结果。当前处理500000行数据需要约20分钟,寻求优化建议。
摘要由CSDN通过智能技术生成

我已经编写了一些代码,基本上对两个pandas数据帧执行excel风格的vlookup,并希望加快速度。在

数据帧的结构如下:

数据库1_数据框列:

'VALUE'、'COUNT'、'GRID'、'SGO10GEO'

合并_数据框列:

“网格”、“ST0”、“ST1”、“ST2”、“ST3”、“ST4”、“ST5”、“ST6”、“ST7”、“ST8”、“ST9”、“ST10”

sgo公司_数据框列:

'mkey','类型'

为了合并它们,我做了以下操作:

1对于dbase1_df中的每一行,查找其“SGO10GEO”值与sgo_df的“mkey”值匹配的行。从sgo_df的该行中获取“type”。在“type”包含从0到10的整数。通过在类型中附加'ST'来创建列名。

在merged_df中找到值,其中它的“GRID”值与dbase1_df中的“GRID”值匹配,列名是我们在步骤2中获得的。将此值输出到csv文件中。

//将dbase1 dbf读入数据帧

dbase1_df=pandas.DataFrame.from\u csv(dbase1_文件,index_col=False)

合并的_df=pandas.DataFrame.from\u csv('合并.csv',索引_col=False)

卢普_写出来的([“值”,“类型”,提取_变量上限()])

//对于dbase1数据帧中的每个唯一值:

对于索引,d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值