标签:Python与Excel,pandas
Excel使绘制图形变得非常容易。Python也是如此!这里,我们将快速熟悉如何在Python中绘制图形。
Excel可以生成漂亮的图形,为什么还要使用Python呢?
我们正处于互联网时代。一切都是在线的——互联网不可避免地是最大的公共数据库。Python成为优秀的绘图工具(对比Excel)的一个原因是,可以轻松地从Internet获取数据,然后使用Python进行绘图。如果我们需要使用一些在线数据并想在Excel中绘图,我们该怎么办?也许把它下载到我们的电脑上,然后把它画出来,或者使用笨重的VBA或Power Query获取数据,然后将其绘制成图形。如果你以前做过的话,相信这些都不是好经验。这就是为什么我们应该使用Python进行无缝、轻松的数据提取、操作和绘图!
准备用于演示的数据框架
难道你不认为使用Python从互联网获取数据很容易吗?让我们看看。我们将使用约翰·霍普金斯大学的COVID19数据库在本文中绘制随时间推移的确诊病例。他们每日更新的全球新冠病毒确诊病例档案可在以下位置找到:
https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv.
我们将使用pandas库来处理数据,仅使用一行代码就可获取转换成类似于表格格式的数据到Python。
import pandas as pd
df =pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')
图1
报告的数据中有很多国家,为了让本文更容易理解,我们只看一下全球确认的数字。如果你想关注特定国家,只需对所需国家应用筛选到数据框架即可。
由于前4列只是地理信息,我们可以去掉它们,只关注每日数字。
df = df.iloc[:,4:]
global_num = df.sum()
图2
现在我们有了一个一维表:日期和相应日期的确认新冠病毒病例。我们将用它来绘制一段时间内的全球新冠病毒病例。pandas依赖另一个名为matplotlib的库进行绘图,因此我们还必须导入该库。否则,你的pandas绘图就不会出现。如果你还没有安装这个库,就先安装它:
pip install matplotlib
按照惯例,我们将matplotlib.pyplot重命名为plt。
pandas提供了一种直接从数据框架绘制图形的便捷方法,我们只需要使用dataframe.plot()。但是必须记住,在绘制后要让matplotlib显示图形,就需要使用plt.show()。
代码语言:javascript复制import matplotlib.pyplot as plt
global_num.plot()
plt.show()
图3 考虑到我们只使用了2行代码,我们甚至都没有告诉pandas哪一列是x轴,哪一列是y轴!后续文章中,我们会讨论如何制作更漂亮的图形。
注:本文学习整理自pythoninoffice.com。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。