pandas实战------解决一道反常的pandas实现两表连接 需求背景 现在有两张表,A表结构如下 B表结构如下,区间表示产品重量在此区间的价格 要求是结合AB表,算出A表中每个产品的价格 解题思路 把AB表相连接肯定是通过相同的字段(地区代码)进行连接,但是如果只是普通的连接,已然找不到合适的区间。所以想到把运费区间多列变成多行单列,如下 然后我们在通过提取每个区间的最低值和最高值,判断重量所在的区间,最后提取出符合条件的值。 实战代码: 导入pandas并读取数据 使用stack函数将多列变成多行单列,为了保证地区代码和地区缩写这两个字段也跟着变化,我们想把它设置索引,stack后再变回来 连接两个表 判断重量是否在本区间内。提取出最小值和最大值,然后进行判断 最后只需把符合条件的筛选出来即可