pandas数据处理真的是千变万化,超级强大
有人在群里提出了一个问题,如何将下图中的左图转换为右图?
话不多说,直接开干
其实这个问题在excel
中用if
函数加vlookup
函数分分钟搞定,但是人家说数据量大,excel
处理不了,那只能python
出马了,我想了一下,问题的关键是向下填充,每一个被查找点就是一个基准点,被查找点不改变时,基准点不变,可以参考excel
中的if
函数进行处理,基准点不变的本质就是向下填充。
构造样例数据如下:(复制一份备用)
新增一个临时列 tmp
,填值暂时都是被查找点0
使用if
函数对tmp
列数据进行变幻,实现向下填充
至此,每个查找点(邻小区)的基准点(被查找点,源小区)已经找到了,跟原表merge
一下得到需要的标识列就好了
剔除多余的行(基准点所在行,被查找点所在行)
调整列的顺序
按需修改列名,然后保存为csv
打开结果文件看一下,确实是想要的格式呢