Python地图可视化数据分析犯罪嫌疑人位置记录

这个项目运用Python的folium库来制作出地图可视化的数据分析图。我这次直接获取的已经下载好的一个城市犯罪嫌疑人的excel表格。

先是获取数据

import folium
import requests
import pandas

arrest_table = pandas.read_csv("https://cmsc320.github.io/files/BPD_Arrests.csv")

arrest_table = arrest_table[pandas.notnull(arrest_table["Location 1"])]

arrest_table["lat"], arrest_table["long"] = arrest_table["Location 1"].str.split(",").str
arrest_table["lat"] = arrest_table["lat"].str.replace("(", "").astype(float)
arrest_table["long"] = arrest_table["long"].str.replace(")", "").astype(float)
arrest_table.head()

运行结果

然后开始制作地图,我把每一个犯罪嫌疑人的犯罪地点在地图上标注了出来,并且根据人种划分标记点的颜色,黑色为黑人,灰色为白人,红色为亚裔,绿色为拉丁裔。

sample = arrest_table.sample(1000)
for idx, row in sample.iterrows():
  if (row['sex'] == 'M'):
    fillColor = 'blue'
  else:
    fillColor = 'red'
  if (row['race'] == 'B'):
    folium.Circle(
    radius=50,
    location=[row['lat'], row['long']],
    popup=row['arrestLocation'],
    color='black',
    fill=True,
    fill_color=fillColor,).add_to(map_osm)
  elif (row['race'] == 'A'):
    folium.Circle(
    radius=50,
    location=[row['lat'], row['long']],
    popup=row['arrestLocation'],
    color='yellow',
    fill=True,
    fill_color=fillColor,).add_to(map_osm)
  elif (row['race'] == 'I'):
    folium.Circle(
    radius=50,
    location=[row['lat'], row['long']],
    popup=row['arrestLocation'],
    color='green',
    fill=True,
    fill_color=fillColor,).add_to(map_osm)
  elif (row['race'] == 'W'):
    folium.Circle(
    radius=50,
    location=[row['lat'], row['long']],
    popup=row['arrestLocation'],
    color='grey',
    fill=True,
    fill_color=fillColor,).add_to(map_osm)
  else:
    folium.Circle(
    radius=50,
    location=[row['lat'], row['long']],
    popup=row['arrestLocation'],
    color='crimson',
    fill=True,
    fill_color=fillColor,).add_to(map_osm)

map_osm

效果图

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值