加载一个Jupyter插件后,无需写代码就能做数据分析,还帮你生成相应代码? 没错,只需要加载这个名为Mito的小工具包,用Python做数据分析,变得和用Excel一样简单: 介绍 以Excel为代表的电子表格是探索数据集的最重要、最具适应性的方式之一。它可以帮助对数据类型进行必要的更改、创建新特征、对数据进行排序以及从现有特征中创建新特征。 遵循以上相同的思路,Mito是一个JupyterLab扩展和Python库,它使得在支持GUI的电子表格环境中操作数据变得超级容易。 Mito的出现,像是将Python的强大功能、和Excel的易用性进行了结合。 只需要掌握Excel的用法,就能使用Python的数据分析功能,还能将写出来的代码打包带走。 它弥补了Excel在数据分析上的几个缺陷:Excel无法做大数据分析(大型数据集处理得不好)Excel运行缓慢Excel无法轻松创建可重复流程 同时,又比SQL和Python更简单、直观。毕竟这些专业工具对于0基础初学者来说,需要至少几年时间,才能完全上手。 在本文中,我们将一起学习:如何合理设置Mito如何debug安装错误使用Mito提供的各种功能数据库如何为对数据集所做的所有操作生成Python等效代码安装Mito Mito是一个Python库,可以通过pip包管理器安装。它需要Python3。6及以上版本。此外,系统上需要安装Nodejs,一个JavaScript运行时环境。 另外,可以在单独的环境(虚拟环境)中安装这个包,可以避免一些依赖错误。接下来在终端中运行这些命令,完成安装即可。1。创建环境 我正在使用Conda创建一个新环境。你还可以使用Python的venv来创建虚拟环境。condacreatenmitoenvpython3。82。激活环境condaactivatemitoenv3。通过pip安装Mitopipinstallmitoinstaller4。运行Mito安装程序pythonmmitoinstallerinstall 此过程将需要一段时间来安装和设置Mito。5。启动JupyterLabjupyterlab报错解决 当启动JupyterLab时,可能会遇到如下错误:Filec:userslenovoanaconda3envsmitoenvlibsitepackagesjupytercorepaths。py,line387,inwin32restrictfiletouserimportwin32apiImportError:DLLloadfailedwhileimportingwin32api:Thespecifiedmodulecouldnotbefound。 要修复此错误,只需运行以下命令:pipinstallupgradepywin32225 如果你遇到其他困难,请随时在下面发表评论。我很乐意提供帮助。MitoSheets界面 在JupyterLab中,创建一个新笔记本并初始化Mitosheet:importmitosheetmitosheet。sheet() 第一次,系统会提示输入你的电子邮件地址进行注册: 填写完基础知识后,将被重定向到GUI电子表格。接下来我们一起看看这个接口的所有特性,并一起学习如何生成Python等效代码。加载数据集 要在MitoSheets中加载数据集,只需单击导入。有两个选择:从当前文件夹添加文件:这将列出当前目录中的所有CSV文件,可以从下拉菜单中选择文件。按文件路径添加文件:这将仅添加该特定文件。 如下图所示 如果你看下面的单元格,你会发现Python等效的代码导入一个数据集使用pandas已经生成了适当的注释! 这就是Mito的魅力,你在Mitosheet执行的每个操作都将转换为Python等效代码!接下来我们一起详细探讨一下Mito的所有功能。添加和删除列添加列 就像在Excel等电子表格中一样,你可以添加一个新列,该列可能是从现有列或特征创建的。要在Mito中执行此操作,只需单击AddCol按钮。该列将添加到当前选定的列表旁边。最初,列名将是一个字母表,列的所有值都为零。 编辑新列的内容单击行列名称(分配的字母表)将弹出侧边栏菜单,你可以在其中编辑列的名称。要更新该列的内容,请单击该列的任何单元格,然后输入值。你可以输入一个常量值,也可以根据数据集的现有特征创建数据。如果要从现有列创建值,则直接使用要执行的运算符调用列名。新列的数据类型根据分配的值进行更改。 下面的GIF演示了上面提到的所有内容: 删除列通过单击选择任何列。单击DelCol,该特定列将从数据集中删除。 Python代码 在下一个单元格中生成带有正确注释的Python等效代码,用于执行的操作是:MITOCODESTART(DONOTEDIT)frommitosheetimportImportnecessaryfunctionsfromMitoregisteranalysis(UUID7bf77d2684f448edb3893f7a3b729753)LetMitoknowwhichanalysisisbeingrunImportededxCourses。csvimportpandasaspdedxCoursescsvpd。readcsv(edxCourses。csv)AddedcolumnHtoedxCoursescsvedxCoursescsv。insert(7,H,0)RenamedHtonewColinedxCoursescsvedxCoursescsv。rename(columns{H:newCol},inplaceTrue)SetnewColinedxCoursescsvtocoursePricecourseEnrollmentsedxCoursescsv〔newCol〕edxCoursescsv〔coursePrice〕edxCoursescsv〔courseEnrollments〕DeletedcolumnnewColfromedxCoursescsvedxCoursescsv。drop(newCol,axis1,inplaceTrue)MITOCODEEND(DONOTEDIT)创建数据透视表 数据透视表是一个重要的环节excel功能,它根据另一个分类特征汇总数字变量。要使用Mito创建这样的表,单击Pivot并选择源数据集(默认加载CSV)选择数据透视表的行、列和值列。还可以为值列选择聚合函数。所有下拉选项,如求和、平均值、中值、最小值、最大值、计数和标准偏差都可用。选择所有必要的字段后,将获得一个单独的表,其中包含数据透视表的实现。 下面的GIF演示了如何为聚合函数均值创建数据透视表: Python代码MITOCODESTART(DONOTEDIT)frommitosheetimportImportnecessaryfunctionsfromMitoregisteranalysis(UUIDa35246c0e0dc436b8667076d4f08e0c1)LetMitoknowwhichanalysisisbeingrunImportededxCourses。csvimportpandasaspdedxCoursescsvpd。readcsv(edxCourses。csv)PivotededxCoursescsvintodf2pivottableedxCoursescsv。pivottable(index〔courseOrganization〕,values〔coursePrice〕,aggfunc{coursePrice:mean})Resetthecolumnnameandtheindexesdf2pivottable。renameaxis(None,axis1)。resetindex()MITOCODEEND(DONOTEDIT)合并两个数据集 合并数据集是数据科学项目的重要组成部分。通常,数据集被划分到不同的表格中,以增加信息的可访问性和可读性。合并Mitosheets很容易。单击Merge并选择数据源。需要指定要对其进行合并的键。也可以从数据源中选择合并后要保留的列。默认情况下,所有列都将保留在合并的数据集中。 Python代码MITOCODESTART(DONOTEDIT)frommitosheetimportImportnecessaryfunctionsfromMitoregisteranalysis(UUID88ac4a92062f4ed8a55d729394975740)LetMitoknowwhichanalysisisbeingrunImportedAirportPets。csv,ZipcodeData。csvimportpandasaspdAirportPetscsvpd。readcsv(AirportPets。csv)ZipcodeDatacsvpd。readcsv(ZipcodeData。csv)MergedAirportPetscsvandZipcodeDatacsvtempdfZipcodeDatacsv。dropduplicates(subsetZip)AirportPetscsvtmpAirportPetscsv。drop(〔State,Division〕,axis1)ZipcodeDatacsvtmptempdf。drop(〔MeanIncome,Pop〕,axis1)df3AirportPetscsvtmp。merge(ZipcodeDatacsvtmp,lefton〔Zip〕,righton〔Zip〕,howleft,suffixes〔AirportPetscsv,ZipcodeDatacsv〕)MITOCODEEND(DONOTEDIT)修改列数据类型、排序和过滤 你可以更改现有列的数据类型,按升序或降序对列进行排序,或通过边界条件过滤它们。在Mito中的这些都很简单,可以通过选择屏幕上的选项通过GUI本身完成。单击所需的列将看到一个数据类型列表。可以根据需要从下拉列表中选择任何数据类型,该数据类型将应用于整个列。接下来可以通过选择提供的选项按升序或降序对数据进行排序。还可以使用自定义过滤器过滤数据。 Python代码MITOCODESTART(DONOTEDIT)frommitosheetimportImportnecessaryfunctionsfromMitoregisteranalysis(UUIDcc414267d9aa40178890ee3b7461c15b)LetMitoknowwhichanalysisisbeingrunImportededxCourses。csvimportpandasaspdedxCoursescsvpd。readcsv(edxCourses。csv)ChangedcoursePricefromint64tofloatedxCoursescsv〔coursePrice〕edxCoursescsv〔coursePrice〕。astype(float)SortedcoursePriceinedxCoursescsvindescendingorderedxCoursescsvedxCoursescsv。sortvalues(bycoursePrice,ascendingFalse,napositionfirst)edxCoursescsvedxCoursescsv。resetindex(dropTrue)FilteredcoursePriceinedxCoursescsvedxCoursescsvedxCoursescsv〔edxCoursescsv〔coursePrice〕500〕edxCoursescsvedxCoursescsv。resetindex(dropTrue)MITOCODEEND(DONOTEDIT)图表和统计数据生成 还可以直接在此扩展中生成图形,而无需编写绘图逻辑。默认情况下,此扩展生成的所有图都是使用Plotly制作的。这意味着绘图是交互式的,可以即时修改。 注意,这里并没有像操作列一样,在下一个单元格中生成图形代码(也许开发人员会在以后的更新中推送此代码) 可以使用Mito生成两种类型的图:1。通过点击图表按钮 你将看到一个侧边栏菜单,用于选择图形类型和要选择的相应轴。 2。通过点击列名 当你点击电子表格中的列名称时,可以看见过滤器和排序选项。但如果你导航到SummaryStats,则会根据变量的类型显示线图或条形图以及变量的摘要。此摘要更改为文本和没有文本变量。 保存和回放 对数据集所做的所有转换都可以保存并用于其他类似的数据集。这在Excel中采用宏或VBA的形式。也可以通过这些功能完成相同的操作。 文件是以Python编写的,而不是用比较难懂的VBA。 回溯执行的所有步骤 要想重复上面的步骤的话,也非常容易,Mito自带重复已保存分析步骤功能,一键就能用同样的方法分析其他数据。这个功能是最有趣的。你实际上可以追踪在Mitosheet中应用的所有转换。所有操作的列表都带有适当的标题。 此外,你可以查看该特定步骤!这意味着假设你更改了一些列,然后删除了它们。你可以退回到未删除的时间。 写在最后 新工具Mito,用于在Python环境中实现类似电子表格的功能,并为所做的每一步生成等效操作的Python代码。 参考来源:数据STUDIO