使用 Matplotlib 在 Python 中分析和可视化地震数据
使用 Python 的 matplotlib 库分析地震数据可以提供有关地震频率、震级和位置的宝贵见解,这有助于预测和减轻其影响。在本文中,我们将探讨如何使用 Python 和流行的数据可视化库 Matplotlib 分析和可视化地震数据。我们将逐步向您展示如何将地震数据加载到 Python 中,清理和预处理数据,以及创建可视化以更好地了解数据中的模式和趋势。
简介
与口头数据表示相比,数据的视觉表示更容易被人类大脑吸收。当某样东西被描绘出来时,我们更容易理解它。数据集是关于特定主题的原始信息集合。在本文中,我们有一个 CSV 文件形式的地震数据集。我们需要分析和可视化数据集,以了解数据集中的趋势和模式,以便预测未来可能发生的情况。例如,在本文中,我们将使用地震数据集,使用 matplotlib,我们将分析和可视化数据,以了解前几年地震强度的模式,然后我们可以预测未来地震的强度。
为了可视化和分析数据集,我们使用一个名为 Matplotlib 的 Python 库。我们将详细讨论 matplotlib 是什么以及如何使用它来分析和可视化数据集。
数据可视化
图形为检查数据提供了一个很好的工具,这对于呈现结果至关重要。数据可视化这个术语是新的。它反映了不仅仅包括事实的图形表示(而不是使用文本形式)的概念。
这可能对于识别和理解数据集以及对趋势、错误数据、异常值等进行分类特别有用。只需具备少量专业知识,就可以利用数据可视化通过图表传达和说明基本联系。
Matplotlib
在 Python 中,有一个名为 Matplotlib 的包,它用于数据可视化,基于 Numpy 数组。它对图形用户界面、shell 脚本、Web 应用程序等都很有用。
2002 年,John D. Hunter 是最初开发 matplotlib 的人。它以类似于 BSD 的许可证提供,并且拥有一个充满活力的开发人员社区。2003 年发布了该程序的第一个版本,今天,2019 年 7 月 1 日,发布了该程序的最新版本 3.1.1。
随着 Matplotlib 1.2 版的发布,它包含了对 Python3 的支持。与 Python 2.6 兼容的 Matplotlib 的当前和最后一个版本是 1.4 版。
数据集
本文中使用的数据集取自 CORGIS 数据集项目,文件名为地震 CSV 文件。
我们将在即将到来的代码中分析和准备数据集。
使用 matplotlib 分析和可视化地震数据
现在我们将了解如何使用 Python 和 matplotlib 分析和可视化地震数据。
导入库和数据集
我们将首先导入所有重要的库。
Pandas − 它有助于分析数据集并以 2D 数组格式存储数据框。
Seaborn/Matplotlib − 这两个都用于可视化数据
import pandas as pdd import numpy as npp import matplotlib.pyplot as pltt import seaborn as sbb
现在让我们加载数据集。我们将在 Python 数据框中加载数据集,以便轻松访问
df1 = pdd.read_csv('C:/Users/Tutorialspoint/Downloads/earthquakes.csv') df1.shape
输出
(8394,19)
我们将查看列内的数据,以了解数据中有多少个空值以及列中的数据类型。
df1.info()
输出
为了了解数据集的分布情况,我们将查看数据集的一些统计指标。
df1.describe()
输出
从上述数据集的描述中,我们可以得出结论,地震发生的最大震级为 7.7 级,最大深度为 622 级。
探索性数据分析
此分析用于使用图表和图表。
pltt.figure(figsize=(10, 5)) x1 = df1.groupby('time.year').mean()['location.depth'] x1.plot.bar() pltt.show()
输出
从上面的条形图中我们可以注意到,2016 年之后地震次数增加,2017 年之后地震次数在 3 年内逐渐减少,然后又增加,2021 年之后又减少。
fig1 = pltt.figure() ax1 = fig1.add_axes([.1, .1, 2, 1]) ax1.plot(df1['impact.magnitude'])
输出
pltt.figure(figsize=(10, 5)) sbb.lineplot(data=df1, x='time.month', y='impact.magnitude') pltt.show()
输出
我们可以看到地震的强度每个月都在下降。
pltt.subplots(figsize=(15, 5)) pltt.subplot(1, 2, 1) sbb.distplot(df1['location.depth']) pltt.subplot(1, 2, 2) sbb.boxplot(df1['location.depth']) pltt.show()
输出
从分布图中可以清楚地看出,有几个异常值,这可以通过使用箱线图来验证。然而,从中需要注意的最重要的一点是,地震发生的深度分布存在左偏。
pltt.subplots(figsize=(15, 5)) pltt.subplot(1, 2, 1) sbb.distplot(df1['impact.magnitude']) pltt.subplot(1, 2, 2) sbb.boxplot(df1['impact.magnitude']) pltt.show()
输出
pltt.figure(figsize=(20, 10)) sbb.scatterplot(data=df1, x='location.latitude', y='location.longitude', hue='impact.magnitude') pltt.show()
输出
现在,我们将查看数据的散点图 −
import plotly.express as pxx import pandas as pdd fig_w = pxx.scatter_geo(df1, lat='location.latitude', lon='location.longitude', color="impact.magnitude", scope='usa') fig_w.show()
输出
从上面我们可以看出美国哪些地区更容易发生地震。
结论
在本文中,我们了解了 python 的 matplotlib 库及其使用方法。我们还使用 matplotlib 库分析并可视化了地震数据集。