<<返回python首页 python

《Python 应用案例》

Python Grid Studio替代excel分析COVID-19数据

最近,我找到了一个出色的开源项目"Grid Studio"。该库结合了电子表格和Python在数据分析方面的优势。

你有没有想过:

  • 使用MS Excel时,您想使用自己的Python技能和库(例如Numpy,Pandas,SciPy,Matplotlib和Scikit-learn)来生成和处理数据
  • 使用Python时,您可能认为需要使用数据的表格视图来实时查看当前数据集的图片,但是您只能df.head()手动输出。

好的,此库可以满足您的所有要求。

在开始之前,让我们看一下它的外观。Grid Studio是一个基于Web的应用程序。这是Web UI。

img

用户界面分为3个主面板。

  1. 电子表格与流行的软件(例如Excel和Google表格)完全相同。
  2. 代码区域,您可以编写python代码。
  3. File / Plots / Terminal / Stdout窗口,它将这四个窗口聚合为不同的选项卡。

因此,使用该库,您可以使用代码区域来编写Python代码,并像Jupyter / iPython一样逐行运行它,"Python out"窗口将显示结果。另外,您可以将Pandas数据框同步到电子表格以立即查看。

安装:

之后,在GitHub上克隆仓库:(https://github.com/ricklamers/gridstudio)

git clone https://github.com/ricklamers/gridstudio

然后,只需转到其根文件夹并运行启动脚本:

cd gridstudio && ./run.sh

等待docker提取所有组件可能需要几分钟。之后,您将能够访问Web UI

COVID-19数据的样本分析示例

我不喜欢为了例子而写例子。因此,让我们使用一些实际数据通过Grid Studio进行一些基本数据分析。

将数据下载为CSV文件,其中包含世界所有国家/地区的COVID-19数据。

将数据加载到电子表格中

#读取所有数据
df = pd.read_csv("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv").dropna()
print(df.head())

我们可以通过链接直接读取在线CSV文件。在这里,我认为Grid Studio有了改进。也就是说,它不喜欢Jupyter Notebook可以立即打印您的变量。如果要打印变量,则必须使用该print方法。

另一个限制是,电子表格看起来不太支持datetime类型。在测试过程中,我发现它无法显示datetime64[ns]type的pandas列。因此,我想将dateRep列转换为整数。

#将日期转换为整数(由于Grid Studio的限制)
# Convert date to integer (because of Grid Studio limitation)
df.dateRep = pd.to_datetime(df.dateRep, format='%d/%m/%Y').dt.strftime('%Y%m%d').astype(int)

转换资料

首先,让我们按国家/地区过滤数据。例如,我仅对澳大利亚数据感兴趣。

#获取澳大利亚数据
df_oz = df [df.countriesAndTerritories == 'Australia']

然后,我们将只选择dateRepcasesdeaths列。

#仅保留日期,病例和死亡列
df_oz = df_oz [['dateRep','cases,'deaths]]]

之后,请按日期对数据框进行排序,以便我们可以计算累积的病例和死亡人数。

#计算累计病例和死亡
df_oz = df_oz.sort_values('dateRep')
df_oz ['cumCases'] = df_oz.cases.cumsum()
df_oz ['cumDeaths'] = df_oz.deaths.cumsum()

将数据渲染到电子表格中

现在,我们在熊猫数据框中应该有5列,分别是日期,新病例,新死亡,累积病例和累积死亡。让我们将数据框渲染到电子表格中。

#工作表
sheet("A1", df_oz)

Grid Studio使执行此操作变得非常容易。通过调用其API sheet,我们只需指定将呈现数据框的左上角单元,然后传递数据框变量。

img

如果要显示标题,也可以header=Truesheet方法中指定。

电子表格中的更多功能

当数据在电子表格中时,我们可以像使用其他常规软件(例如Excel和Google表格)一样使用它。我不会证明式功能,如SUMAVG等大家都熟悉。

最有用的功能之一是,您可以轻松地将电子表格导出为CSV。这意味着我们可以利用Pandas数据框的强大功能轻松下载和转换数据,然后导出以使用其他软件进行进一步的分析。

img

我认为另一个非常有用的方法是matplotlib通过单击来绘制数据。例如,如果我们要绘制每日新案例,只需选择“新案例"列,然后右键单击它,如下面的屏幕快照所示。

img

然后,在右下角的“绘图"选项卡中可以找到该绘图。

img

实际上,Grid studio通过自动生成代码来完成此绘制。这是为以上图表生成的代码。

data = sheet("B1:B106")
data.plot()
show()

因此,如有必要,我们可以添加一些注释。例如,我们可以向该图表添加标题:

data = sheet("B1:B106")
data.plot(title='Daily New Cases')
show()

img

同样,我们可以使用相同的步骤分别绘制4列。下面的3个图表是通过简单的点击和添加标题而生成的,总共花了我30秒!

img

img

img

显然,使用Grid Studio执行一些简单的数据分析将非常快速和方便。感谢作者Rick Lamers的出色创意。

文件来源:https://towardsdatascience.com/say-goodbye-to-excel-a-simple-evaluation-of-python-grid-studio-using-covid-19-data-90624f322b81

作者:Christopher Tao

移动端设备除iPad Pro外,其它移动设备仅能阅读基础的文本文字。
建议使用PC或笔记本电脑,浏览器使用Chrome或FireFox进行浏览,以开启左侧互动实验区来提升学习效率,推荐使用的分辨率为1920x1080或更高。
我们坚信最好的学习是参与其中这一理念,并致力成为中文互联网上体验更好的学练一体的IT技术学习交流平台。
您可加QQ群:575806994,一起学习交流技术,反馈网站使用中遇到问题。
内容、课程、广告等相关合作请扫描右侧二维码添加好友。

狐狸教程 Copyright 2021

进入全屏