网易首页 > 网易号 > 正文 申请入驻

Kaggle 使用Python和R绘制数据地图的十七个经典案例

0
分享至



大数据文摘作品,转载具体要求见文末

编译团队 | 寒小阳 黄念 黄卓君

作者|Megan Risdal

目前,Kaggle用户在我们的开放数据科学平台上创建了近3万颗内核。这代表了惊人且不断增长的可再现知识。我发现我们的代码和数据库是目前了解Python和R最新技术和库的好地方。


在这篇博客中,我将一些优秀的用户内核变成迷你教程,作为在Kaggle上发布的数据集进行绘制地图的开始。这篇文章中,你将学习如何用Python和R,使用包括实际代码示例的几种方法来布局和可视化地理空间数据。我还列出了资源,以便你可以了解每个教程中突出显示的每个包以及进一步的用户分析,从而获得更多的灵感。

前言

为了探索目的而创建一个简单的地图不再需要你学习如何操作shapefile或想象投影。并且,无论你喜欢在R或Python,都有快速和简单的方法把你的数据展现在地图上。

注:Shapefile文件是描述空间数据的几何和属性特征的非拓扑实体矢量数据结构的一种格式

R 地图

对于R用户,Kaggler Umesh显示,你需要的是ggplot2和Hadley Wickham的地图包,借助CDC在Kaggle上发布的数据,以显示美国哪些州每日吸烟者的百分比最高。

数据包下载链接:http://docs.ggplot2.org/current/map_data.html


然后,创建地图本身就像创建任何其他ggplot可视化一样熟悉。



最终的成果清楚地描述了美国哪些州每天吸烟人数最多。


美国的吸烟者和非吸烟者在地图上的分布。

这里,还有一些更好的资源用于使用地图、mapsdata和ggplot2:

  • 在R中绘制地图

    http://eriqande.github.io/rep-res-web/lectures/making-maps-with-R.html

  • 使用ggplot2软件包在R中绘制地图

    http://zevross.com/blog/2014/07/16/mapping-in-r-using-the-ggplot2-package/

请注意,你目前无法在内核中使用ggmaps。在大多数情况下,你不能做诸如从我们的环境中调用API的事情。

Python 地图

对于Python用户来说, matplotlib底图工具包是绘制2D地图一个好的起始。你可以在底图文档中阅读更多内容,这里有各种示例。

数据包下载链接:http://matplotlib.org/basemap/

有很多用户编写的大内核,但Kaggler Dotman则显示了使用底图来很轻松地将纽约市近100万Uber行程的数据可视化:




在纽约可视化Uber出行数据。

有关演示如何使用Python中的底图来生成有效的地图可视化的更多示例,请查看以下这些用户内核:

  • 美国宽带手机接入的地图可视化(Jesse Lieman-Sifry制作)。

  • https://www.kaggle.com/jliemansifry/d/census/2013-american-community-survey/making-a-map-easy-example-using-basemap/code
  • 使用2014年美国社区调查数据处理shapefile(Phil Butcher分派的代码)。

    https://www.kaggle.com/mrisdal/d/census/2014-american-community-survey/using-shapefiles-fork-of-2013-code/code

  • 南非犯罪的Choropleth地图(Kostya Bahshetsyan制作)。

    https://www.kaggle.com/kostyabahshetsyan/d/slwessels/crime-statistics-for-south-africa/choropleth-map-of-crime-south-afrika

互动地图

使用交互式地图(和一般的交互式数据可视化),你可以将颜色限制为只有你认为与你的受众更广泛相关的颜色,而且还可以让用户在需要更多信息的地方深入查看。在这里,我强调了使用Plotly,Leaflet和Highcharter创建的用户创建的地图。


Plotly

在FiveThirtyEight提供的数据集中,用户可以检查追溯到1971年的美国警察死亡原因。鉴于位置信息,Kaggler Abigail Larion比较了使用Python和Plotly状态的警察死亡地图。她的代码演示了如何简单地用计数(国家人口归一化)创建一个干净和互动的地图:




美国警察的死亡情况

有关使用Plotly的交互式拼版地图的更多示例,请查看其页面上的详细代码示例。有R和Python的样本适合你的映射需求。按照以下教程,使用Plotly也可以尝试其他任何地图类型:

  • 县级choropleth

    https://plot.ly/python/county-level-choropleth/

  • 散点图

    https://plot.ly/python/scatter-plots-on-maps/

  • 气泡图

    https://plot.ly/python/bubble-maps/

  • 地图上的线条

    https://plot.ly/python/lines-on-maps/

  • 小倍数映射

  • https://plot.ly/python/map-subplots-and-small-multiples/

因为包括数据在内的代码是最好的学习方式,因为Plotly在Kaggle的Python用户中很流行,这里有一些更好的内核:

  • 气温和全球变暖分析地图

  • https://www.kaggle.com/amelinvladislav/d/berkeleyearth/climate-change-earth-surface-temperature-data/map-of-temperatures-and-analysis-of-global-warming
  • 出生时的全球预期寿命

    https://www.kaggle.com/kostyabahshetsyan/d/worldbank/world-development-indicators/python-plotly-mapping-example

  • UFO在美国的报道

    https://www.kaggle.com/abigaillarion/d/NUFORC/ufo-sightings/ufo-reports-in-united-states


Leaflet

在Kaggle Kernels中创建交互式地图的另一个方法是Leaflet。Leaflet是一个用于移动友好交互式地图的开源JavaScript库。有一个伟大的R Leaflet,使其易于集成和控制在R中的单张地图。你可以阅读Leaflet的小部件以及如何在他们的教程操作其属性。

EwenHenderson的一个梦幻般的内核使用超级简洁的Leaflet检查来自波士顿的Airbnb数据中的邻居列表和“超级主机”。



分析位于波士顿的Airbnb主机。

不是所有的Leaflet的教程都必须适用于在内核中专门制作地图,但这里有一些可能在开始使用:

  • 单页快速入门指南

    http://leafletjs.com/examples/quick-start/

  • 互动Choropleth地图(案例研究)

    http://leafletjs.com/examples/choropleth/

  • 使用GeoJSON与Leaflet

    http://leafletjs.com/examples/geojson/

在我的印象里,高分辨率R包是一个新的包。但是,它是我见过的最光滑的内核。如他们的主页上所述,“Highcharter是Highcharts Javascript库及其模块的R包装。你可以在这里找到他们的文档。在另一个Ewen Henderson的内核中,他分析了由FiveThirtyEight作为Kaggle数据集发布的2016年调查数据,使高速成像看起来超级容易使用。注意他使用恰当的Highcharter主题是FiveThirtyEight。



在2016年总统选举投票数据中,共和党与民主党的(平均)偏好。

要获得更多高级灵感,你可以在这里找到更多资源:


动画地图

互动地图可以是很好的,当你想让读者在他们的休闲细节控制探索数据。如果你的目标是说明一个特定的故事,传达随着时间的变化作为数据中的一个新的维度,或只是添加一些引人注目的戏剧,你可以选择动画。是的,你可以在内核可视化动画gif图。

一个用户pavelevap使用记录历史全球气温的数据创建一个惊人的动画,显示世界各地城市的平均温度。当你观看动画展开,你急切希望更多的蓝色球体出现。这使得pavelevap的可视化和底图的使用相当有效。



1950年至2013年500个随机城市的年平均温度的可视化。

动画地图的其他示例:

  • 在中国的一天(Charles Darwin, 一个Kaggle用户, Python)。

    https://www.kaggle.com/maddarwin/talkingdata-mobile-user-demographics/one-day-in-china-geolocation-animation/run/306864/code

  • 将历史温度异常动画化。(Donyoe, R)

    https://www.kaggle.com/donyoe/d/noaa/global-historical-climatology-network/animation-historical-temperature-anomalies/code


非常规地图

只是因为你有坐标数据并不意味着它属于传统的世界地图。你可以将你在这里学到的很多内容,包括地图制作、互动和动画,转移到足球场甚至是星际上。我会给你留下这些几个奖金的绘制坐标数据地图的例子:

利用martijn探索事件数据(R)。这个内核不仅可以显示你如何整理凌乱的XML文件,而且还可以显示如何绘制和映射在欧洲足球比赛期间发生的事件。


欧洲足球数据库中进球的位置。

研究科比·布莱恩特的射门选位置择(Arjoonn Sharma, Python)。该作者显示,剩下的时间越少,科比在越远的投篮位置上越冒风险。


在科比布莱恩特的投篮选择的时间背后的探索。

利用DBenn绘制外太阳行星的3D空间位置的地图(R)。这个内核展示了Plotly中酷炫的3D绘图功能,将太阳系行星的位置可视化了。


使用Plotly在3D空间中绘制外行星。

检查此内核中的交互式代码。

所以,你看到了显示了数据绘图技术的十七个例子。任何这些内核的交叉和延伸,再佐以自己的天赋或通过选择“新脚本”或“新笔记本”,在Kaggle上发布的200多个功能数据集中get你的新的地图制作技能。

来源链接:

http://blog.kaggle.com/2016/11/30/seventeen-ways-to-map-data-in-kaggle-kernels/


关于转载

如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 |bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

志愿者介绍

回复“志愿者”了解如何加入我们




往期精彩文章

点击图片阅读文章

100张经典信息可视化图表 看看你的大脑在想什么





特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
内行人预测:2026年这四大现象或将席卷全国,建议提前应对!

内行人预测:2026年这四大现象或将席卷全国,建议提前应对!

朝子亥
2026-02-20 18:00:03
恒生科技投资者都在“躲牛市”,成了AI的最大受害者

恒生科技投资者都在“躲牛市”,成了AI的最大受害者

磐石之心
2026-02-20 16:41:33
孙红雷移民风波升级,去澳洲过春节被偶遇,澳洲邻居曝其买了农场

孙红雷移民风波升级,去澳洲过春节被偶遇,澳洲邻居曝其买了农场

古希腊掌管月桂的神
2026-02-20 17:11:22
让人心寒!给弟弟三孩子每人500,自己一孩子回500,姐姐决定断亲

让人心寒!给弟弟三孩子每人500,自己一孩子回500,姐姐决定断亲

火山詩话
2026-02-20 15:43:13
这下麻烦大了!不到48小时,闫学晶再迎2大噩耗,何庆魁也被牵连

这下麻烦大了!不到48小时,闫学晶再迎2大噩耗,何庆魁也被牵连

揽星河的笔记
2026-01-07 15:09:10
网友晒余承东春节回安徽老家视频:座驾又换了 气场更强!

网友晒余承东春节回安徽老家视频:座驾又换了 气场更强!

快科技
2026-02-19 08:38:05
深圳湾大桥旅游大巴相撞并试图坠海事故敲响警钟

深圳湾大桥旅游大巴相撞并试图坠海事故敲响警钟

原广工业
2026-02-20 14:57:05
手气爆棚!河南52岁男子打麻将连续自摸胡牌,兴奋过度,突然栽倒牌桌,送医时血压飙升至201/115mmHg

手气爆棚!河南52岁男子打麻将连续自摸胡牌,兴奋过度,突然栽倒牌桌,送医时血压飙升至201/115mmHg

芒果都市
2026-02-20 16:07:55
从康波周期来看,2026年处于什么阶段?

从康波周期来看,2026年处于什么阶段?

枫冷慕诗
2026-02-05 13:35:30
善恶终有报!49岁的李铁再传噩耗,终是为自己的贪婪付出代价

善恶终有报!49岁的李铁再传噩耗,终是为自己的贪婪付出代价

痞子时代
2026-02-12 15:36:53
台湾费尽心思安排到解放军内部的间谍,全都被李志豪给揪了出来

台湾费尽心思安排到解放军内部的间谍,全都被李志豪给揪了出来

雪中风车
2026-02-06 08:12:58
黄渤青岛宴请岳父母,海鲜大餐摆满桌,结婚多年的妻子气质真好

黄渤青岛宴请岳父母,海鲜大餐摆满桌,结婚多年的妻子气质真好

墨语家
2026-02-19 18:24:53
荒谬至极!印度大学展出泡沫塑料无人机被赶出峰会,印记者狠批:像四年级小学生作业【附无人机行业市场分析】

荒谬至极!印度大学展出泡沫塑料无人机被赶出峰会,印记者狠批:像四年级小学生作业【附无人机行业市场分析】

前瞻网
2026-02-19 16:55:07
日本网友说:中国春晚机器人,盗取了我们技术!但是日本真没有

日本网友说:中国春晚机器人,盗取了我们技术!但是日本真没有

陈腕特色体育解说
2026-02-19 16:46:07
全国第一个房价大涨的城市,出现了

全国第一个房价大涨的城市,出现了

新浪财经
2026-02-20 13:13:16
杨澜:我与老公早已无爱,若继续再在一起,对彼此都是很不公平的

杨澜:我与老公早已无爱,若继续再在一起,对彼此都是很不公平的

小徐讲八卦
2026-02-11 13:00:09
特朗普白忙活一场,下一任总统热门候选人出炉,对中国态度不一般

特朗普白忙活一场,下一任总统热门候选人出炉,对中国态度不一般

东极妙严
2026-02-20 10:52:25
今晚打响!西甲焦点战:皇马客战奥萨苏纳 姆巴佩率队冲9连胜

今晚打响!西甲焦点战:皇马客战奥萨苏纳 姆巴佩率队冲9连胜

爱奇艺体育
2026-02-21 08:56:55
齐广璞身后,中国空中技巧队新一代已经接棒,新周期请关注他们

齐广璞身后,中国空中技巧队新一代已经接棒,新周期请关注他们

全眼看体育
2026-02-21 08:56:56
已婚也逃不过!在爱泼斯坦的安排下,比尔盖茨和安妮·海瑟薇会面

已婚也逃不过!在爱泼斯坦的安排下,比尔盖茨和安妮·海瑟薇会面

全球风情大揭秘
2026-02-09 18:41:27
2026-02-21 09:48:49
大数据文摘 incentive-icons
大数据文摘
专注大数据,每日有分享!
6826文章数 94530关注度
往期回顾 全部

头条要闻

印度AI峰会问题频出:盖茨"临时"缺席 硅谷大佬拒握手

头条要闻

印度AI峰会问题频出:盖茨"临时"缺席 硅谷大佬拒握手

体育要闻

金牌夫妻!王心迪徐梦桃赛后拥抱太甜了

娱乐要闻

镖人反超惊蛰无声拿下单日票房第二!

财经要闻

一觉醒来,世界大变,特朗普改新打法了

科技要闻

智谱上市1月涨5倍,市值超越京东、快手

汽车要闻

比亚迪的“颜值担当”来了 方程豹首款轿车路跑信息曝光

态度原创

手机
艺术
本地
教育
公开课

手机要闻

拉美年度十大畅销机型,小米+联想硬杠三星

艺术要闻

这幅草书让亲戚大吃一惊:书法入门真的要从楷书开始吗?

本地新闻

春花齐放2026:《骏马奔腾迎新岁》

教育要闻

为什么说要学好英语

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版