以后数据预处理第一步,先把编码全部设置为字符串格式!!!
背景——jupter lab
今天还是处理数据自动化,先在jupyter lab上把代码写好,运行没问题。就美滋滋复制粘贴到spyder上面。
以下是jupyter lab 的代码片段:
short_report = super_function.vlook_up(hand_account, ['物料号', 'BOM半成品编码'], short_report, ['产品编码', 'BOM半成品编码'])
short_report = super_function.vlook_up(hand_account, ['物料号', 'BOM半成品描述'], short_report, ['产品编码', 'BOM半成品描述'])
以上代码实现的是vlookup的功能,就是匹配数据。当然前提是数据格式是一样的。
下面是运行结果,当然int64和float64没区别,python在做i if 或者 in 判断的时候,认为他们是一样的
背景——spyder
然后我把这些代码复制粘贴到spyder上面,这些在jupyer lab是完美运行没问题的。
结果excel的某些列在jupyer lab 上是int格式,倒是spyder上面就变成了 str 格式!!!:
总结反思
兄弟们,以后凡是不参与运算的编码,在数据预处理前一定要先全部转成str格式!!!
今天我找这个bug找了一天,TMD!!!!!!!!!!!!