Pandas是数据处理的核心库,也可以进行简单的可视化,绘制散点、折线、直方图等基本图表。Pandas自带的可视化方式是基于matplotlib的函数接口,可以在Jupyter中静态展示。这次介绍一款可视化工具——LUX,它可以自动将DataFrame数据转换成统计图表,让你一目了然地看到相关性、分布、频率等信息。LUX在JupyterNotebook或Lab中交互,图表和数据可以同步展示。项目地址:https://github.com/lux-org/lux使用LUX以下数据集(美国大学信息表)为例:#importpandasandluxlibraryimportpandasaspdimportlux#loaddatadf=pd.read_excel("C:\\Users\\zii\\Documents\\USA_College.xlsx")df读取的数据如下:除了显示的数据表,还会在数据集上看到一个按钮,可以执行data/图表编辑交换显示。所以只需要导入lux库就可以直接使用图表功能了。可以看到下面一共有三种图表,代表的统计意义分别是相关性、直方图分布、事件频率。除了对整个表格进行视觉探索之外,您还可以研究特定变量之间的关系。例如,我想查看平均SAT和收入中位数之间的相关性。df.intent=['SATaverage','medianincome']df左边的表格是两个变量的总体分布,右边的表格是Distributionswithfilters。导出图表LUX支持图表导出,可以导出图表文件和对应的matplotlib和altair代码。首先选择一个或多个图表,然后单击“导出”按钮。可以直接单独显示选中的图表:exporthtmldf.save_as_html('hpi.html')exportmatplotlibcodevis=df.exportedprint(vis[0].to_matplotlib())exportaltaircodevis=df.exportedprint(vis[0.to_Altair())导出的代码可以直接运行:importaltairasaltchart=alt.Chart(df).mark_circle().encode(x=alt.X('SATaverage',scale=alt.Scale(domain=(666,1534)),type='quantitative',axis=alt.Axis(title='SATaverage')),y=alt.Y('收入中位数',scale=alt.Scale(domain=(20200,125600)),type='quantitative',axis=alt.Axis(title='medianincome')))chart=chart.configure_mark(tooltip=alt.TooltipContent('encoding'))#Settingtooltipasnon-nullchart=chart.interactive()#EnableZoomingandPanningchart=chart.encode(color=alt.Color('highestdegree',type='nominal'))chart=chart.configure_title(fontWeight=500,fontSize=13,font='HelveticaNeue')chart=chart.configure_axis(titleFontWeight=500,titleFontSize=11,titleFont='HelveticaNeue',labelFontWeight=400,labelFontSize=8,labelFont='HelveticaNeue',labelColor='#505050')chart=chart.configure_legend(titleFontWeight=500,titleFontSize=10,titleFont='HelveticaNeue',labelFontWeight=400,labelFontSize=8,labelFont='HelveticaNeue')chart=chart.properties(width=160,height=150)chart安装和设置lux安装过程和其他库一样,可以使用pip或者conda安装,直接在命令行输入:pipinstalllux-api或者condainstall-cconda-forgelux-api因为lux一般用于Jupyter生态,所以需要安装激活luxwidget扩展才能显示交互window如果你在JupyterNotebook或VSCode使用以下代码激活扩展:jupyternbextensioninstall--pyluxwidgetjupyternbextensionenable--pyluxwidget智能辅助Pandas进行数据探索,省去很多不必要的操作。
