chap16 下载数据2

发布时间 2023-04-02 21:43:55作者: 月海与游梦人

一认识json格式

json就是在大列表里放入字典的数据格式,不像csv格式可以通过Excel打开

二在python中导入json数据

1

import json

filename = 'data/all_week.geojson'
with open(filename) as f:
    all_eq_data = json.load(f)

# 计算共有多少场地震被记录
all_eq_dicts = all_eq_data['features']
print(len(all_eq_dicts))
mags,titles,lons,lats = [],[],[],[]
for eq_dict in all_eq_dicts:
    mag = eq_dict['properties']['mag']
    title = eq_dict['properties']['title']

    lon = eq_dict['geometry']['coordinates'][0]
    lat = eq_dict['geometry']['coordinates'][1]
    mags.append(mag)
    titles.append(title)
    lons.append(lon)
    lats.append(lat)

  代码解释:json.load()将json文档处理处python好理解的数据

 

三图像化数据

import json

filename = 'data/all_week.geojson'
with open(filename) as f:
    all_eq_data = json.load(f)

# 计算共有多少场地震被记录
all_eq_dicts = all_eq_data['features']
print(len(all_eq_dicts))
mags,titles,lons,lats = [],[],[],[]
for eq_dict in all_eq_dicts:
    mag = eq_dict['properties']['mag']
    title = eq_dict['properties']['title']

    lon = eq_dict['geometry']['coordinates'][0]
    lat = eq_dict['geometry']['coordinates'][1]
    mags.append(mag)
    titles.append(title)
    lons.append(lon)
    lats.append(lat)

import plotly.express as px
import pandas as pd

data = pd.DataFrame(
    data = zip(lons,lats,titles,mags), columns=['经度','纬度','位置','震级']
)
data.head()
fig = px.scatter(
    data,
    x='经度',
    y='纬度',
    range_x=[-200,200],
    range_y=[-90,90],
    width=800,
    height=800,
    title='全球地震散点图',


    color='震级',
    hover_name='位置',




)
fig.write_html('global_earthquakes.html')
fig.show()

  color是图像漂亮的关键

?size这个参数在现版本python中无效