写在前面
今天在尝试一个课题内容时,出现了个问题,感觉还是很常见的叭,在这里浅浅地记录一下(绝对没有什么拿五一专属纪念章这种想法哦 )以后应该也会用得到(毕竟Python也没见得玩得多6 )
正餐开始
先浅浅地说一下使用情况(遇到的状况)
我搜集了2017—2021年度的各城市CO2排放数据,但是在输入到自己构建的表时便出现了一个问题:
自己的地区排布顺序和已获取的CO2数据源的地区排布顺序是不一致的,如果一个一个地进行输入,仅长三角地区就将有26 * 5 * 2=260次 tab 切换,更别说还有其他城市群了,一个一个地对应眼睛也要看花
这个时候还好老师为我指点迷津(感谢邵姐姐~)
555虽然被骂了能学到东西也是挺开心的…
那接下来就用 VLOOKUP 浅浅地尝试一下叭~
想用VLOOKUP,首先我们要知道其参数是怎么弄的
第一个 lookup_value ,就是我们想要查到什么
VLOOKUP就像池塘里面抓鱼一样,lookup_value 即是里面的鱼,我们首先要明确想得到的是什么
第二个 table_arry,就是规定我们的池塘是什么
即是说,我们在哪片区域选择能够找到我们想要的数据
第三个 col_index_num,就是我们想得到的东西在哪一列
即是其位于池塘的哪个位置
第四个 [range_lookup],就是看我们是精确查找还是模糊查找
默认为 false 即可(false–精确匹配,true–近似匹配)
理论讲完了现在来实操康康:
我们以2018年的长三角地区为例:
首先第一个小坑,我们要把数据名称给统一,类似这种一个 “芜湖市” 一个 “芜湖” ,VLOOKUP 是不能起作用的~
接着我们按一下方程进行函数设置:
=VLOOKUP(A3,$M$2:$N$52,2,FALSE)
# $M$2:$N$52的意思是将表格内容固定
# 不然其选定范围会跟着跑的
弄完后随便选个城市康康,发现的确按目标地区进行数据匹配了,棒棒哒~
当然,如果还想对其进行进一步优化,可以再套用一个IFERROR 函数:
=IFERROR(VLOOKUP($A3,$M$2:$N$52,2,FALSE),"")
这里的意思是,如果有对应的数值则对其按要求进行填充,如果没有的话则设置为 “”(空)
此次观察数据,还有一个地方值得学习:
线性插值法:某区2018年的值=2*该区2017年的值-该区2016年的值
这个方法比普通用均值、众数替代要略胜一筹,可以大量推广
总结
以上就是 VLOOKUP 的情况辽,希望自己以后也能将其拓展推广叭~五一快乐(虽然纯纯当懒狗摸鱼了好长时间)但还是辛苦了!