数据文件百度云链接:链接:
提取码:4lw2
文件.json 记录了24小时内全球发生的所有不低于1级的地震 。用记事本打开后,如下所示:
一、查看数据
我们先将加载这些数据并将其以易于阅读的方式显示处理 。具体做法是将数据写入另一个文件,再打开并轻松地在数据中导航:
.py
import json# 探索数据的结构filename = 'data/eq_data_1_day_m1.json'with open(filename) as f:all_eq_data = http://www.kingceram.com/post/json.load(f)# 加载文件中的数据,将其存储到all_eq_data中,这是一个庞大的字典# readable_file = 'data/readable_eq_data.json'# 创建一个新文件,以便将这些数据以易于阅读的方式写入其中# with open(readable_file, 'w') as f:#json.dump(all_eq_data, f, indent=4)# 参数indent=4让dump()使用与数据结构匹配的缩进量来设置数据的格式all_eq_dicts = all_eq_data['features']print((len(all_eq_dicts)))
【Python制作全球地震散点图:JSON格式】这时查看目录data,打开刚生成地文件.json,我们发现该文件地开头:
.json
{"type": "FeatureCollection","metadata": {"generated": 1550361461000,"url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_day.geojson","title": "USGS Magnitude 1.0+ Earthquakes, Past Day","status": 200,"api": "1.7.0","count": 158},"features": [...
这个文件的开头是一个键为""的片段,指出了这个数据文件是什么适合生成的,以及能够在网上的什么地方找到 。它还包括适合人类阅读的标题以及文件中记录了多少次地震:在过去的24小时内,发生了158次地震 。
再往下看,数据存储在一个与键""相关联的列表中 。这个文件包含的是地震数据,因此列表的每个元素都对应一次地震 。
.json
..."features": [{"type": "Feature","properties": {"mag": 0.96,"place": "8km NE of Aguanga, CA","time": 1550360775470,"updated": 1550360993593,"tz": -480,..."geometry": {"type": "Point","coordinates": [-116.7941667,33.4863333,3.22]},"id": "ci37532978"},
键""关联到了与特定地震相关的大量信息 。我们关心的主要是与键"mag"相关联的地震震级以及地震的标题,因为后者很好地概述了地震的震级和位置 。
键""指出了地震在什么地方,我们需要根据这项信息将地震在散点图上标出来 。在与键""相关联的列表中,可找到地震发生位置的经度,纬度 。
二、创建地震列表
文章插图
.py
import json# 探索数据的结构filename = 'data/eq_data_1_day_m1.json'with open(filename) as f:all_eq_data = http://www.kingceram.com/post/json.load(f)# 加载文件中的数据,将其存储到all_eq_data中,这是一个庞大的字典# readable_file = 'data/readable_eq_data.json'# 创建一个新文件,以便将这些数据以易于阅读的方式写入其中# with open(readable_file, 'w') as f:#json.dump(all_eq_data, f, indent=4)# 参数indent=4让dump()使用与数据结构匹配的缩进量来设置数据的格式all_eq_dicts = all_eq_data['features']print((len(all_eq_dicts)))
这个文件记录了158次地震
158
三、提取震级
有了包含所有地震数据的列表后,就可遍历这个列表,从中提取所需的数据 。下面来提取每次地震的震级 。
.py
import json# 探索数据的结构filename = 'data/eq_data_1_day_m1.json'with open(filename) as f:all_eq_data = http://www.kingceram.com/post/json.load(f)# 加载文件中的数据,将其存储到all_eq_data中,这是一个庞大的字典# readable_file = 'data/readable_eq_data.json'# 创建一个新文件,以便将这些数据以易于阅读的方式写入其中# with open(readable_file, 'w') as f:#json.dump(all_eq_data, f, indent=4)# 参数indent=4让dump()使用与数据结构匹配的缩进量来设置数据的格式all_eq_dicts = all_eq_data['features']mags = []for eq_dict in all_eq_dicts:mag = eq_dict['properties']['mag']mags.append(mag)print(mags[:10])
- 采集全球最新地震分布数据 Python之表格数据采集练习
- 【ARIMA分产品销量预测】【python】
- 关于Python的animation在动画中更新quiver绘制的动图中箭头的位
- 建议收藏丨制作FAQ的那些事
- python数据分析——业务指标分析
- foxmail-qq代发 python邮件入门,通过互联网服务器发送邮件
- 全球区块链私募融资一夜入冬,11月环比下滑66.4%
- 互链月报 | 11月全球区块链私募融资一夜入冬,环比下滑66.4%
- 辣白菜的制作方法及储存方法
- 贵港亚马逊云代理商:全球经济形势复杂严峻,云服务的未来形势还会逆势生长吗?