原创未经授权请勿转载!
侵删!侵删!侵删!重要的事情要说三遍。
昨天朋友用pandas做两表的合并本来很简单的一个操作,两秒就能搞定他却愣是做了一上午,踩了一仩午坑后来源文件发给我,我才找出了问题所在那就是:
** 空格,空格空格!**
原始文件是这样两张表:
概括来讲就是把B表中的纬度和經度取出来,对应到A表的城市看起来十分简单。
简单明了确实2秒搞定。
打开结果csv文件发现
像“北京”这种明显在B表中有的,却并没囿传递到A表
就这么简单的问题,困扰了朋友好久我也是看了半天才发现了问题。
A表中似乎有两个"北京”
这两个北京在肉眼上很难分辨出来有什么差异,而且朋友用print打印出来之后也没看出什么差别。
但在pandas判断是这俩完全不同,
另一个是"北京 "(后边多了一个空格) 茬pandas看来,这两个cell里的值是不一样的,所以就会导致匹配不到
这也就是编写代码为什么要空格学数分的时候,几乎所有的教材都在强调数据分析之前,一定要做数据清洗
虽然只是一个小问题,但是如果没有踩过这个坑真的很难发现,如果是分析工作做完了才发现这個问题那后果可就很严重了。
附上添加清洗空格操作后的代码:
如果是df格式的columns索引上有这种多余的空格,两表合并的时候会发生什么呢
答案从一个著名的数学家名字上找。