0代碼就能做Python數(shù)據(jù)分析,這個(gè)Jupyter插件,用起來(lái)就像Excel一樣簡(jiǎn)單
自動(dòng)生成Python代碼
蕭簫 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
加載一個(gè)Jupyter插件后,無(wú)需寫(xiě)代碼就能做數(shù)據(jù)分析,還幫你生成相應(yīng)代碼?
沒(méi)錯(cuò),只需要加載這個(gè)名為Mito的小工具包,用Python做數(shù)據(jù)分析,變得和用Excel一樣簡(jiǎn)單:
運(yùn)行速度比Excel更快,也不需要到處搜各種Python教程了。
好用如Excel,更快更全面
Mito是Jupyter notebook的一個(gè)可編輯電子表格插件,在編輯.csv表格(帶格式轉(zhuǎn)換功能)時(shí),就能生成相關(guān)Python代碼。
△Mito,線粒體Mitochondria的縮寫(xiě)
具體來(lái)說(shuō),Mito的出現(xiàn),像是將Python的強(qiáng)大功能、和Excel的易用性進(jìn)行了結(jié)合。
只需要掌握Excel的用法,就能使用Python的數(shù)據(jù)分析功能,還能將寫(xiě)出來(lái)的代碼“打包帶走”。
它彌補(bǔ)了Excel在數(shù)據(jù)分析上的幾個(gè)缺陷:
- Excel無(wú)法做大數(shù)據(jù)分析(大型數(shù)據(jù)集處理得不好)
- Excel運(yùn)行緩慢
- Excel無(wú)法輕松創(chuàng)建可重復(fù)流程
同時(shí),又比SQL和Python更簡(jiǎn)單、直觀。畢竟這些專業(yè)工具對(duì)于0基礎(chǔ)初學(xué)者來(lái)說(shuō),需要至少幾年時(shí)間,才能完全上手。
據(jù)Mito內(nèi)測(cè)用戶表示,這款插件讓他們用Python做數(shù)據(jù)分析的效率提升了10倍,因?yàn)橛脩艨梢灾苯釉贛ito里編寫(xiě)Excel公式,如=SUM(A1, 100)。
那么,Mito是怎么做到將Excel邏輯轉(zhuǎn)換成Python代碼的呢?
作者們編寫(xiě)了一種名為Transpiler的程序,有點(diǎn)類(lèi)似于編譯器的功能,采用抽象語(yǔ)法樹(shù)(AST),解析Excel源代碼,并轉(zhuǎn)換成Python的源代碼。
相比于采用專業(yè)軟件如Alteryx(需要5000美元/月)進(jìn)行數(shù)據(jù)分析,Mito所生成的Python代碼可以根據(jù)需要自行修改,靈活性更高一點(diǎn)。
目前,Mito采用亞馬遜云平臺(tái)?(AWS)保存用戶的相關(guān)數(shù)據(jù),每個(gè)用戶擁有一個(gè)獨(dú)立賬戶。
當(dāng)然,用戶也可以選擇將數(shù)據(jù)保存在本地。
自動(dòng)生成Python代碼
以分析美國(guó)各州的“家庭平均收入”和“允許托運(yùn)的火車(chē)站數(shù)量”這兩個(gè)數(shù)據(jù)的關(guān)系為例。
首先,上傳“家庭平均收入”和“允許托運(yùn)的火車(chē)站數(shù)量”兩份數(shù)據(jù)。
數(shù)據(jù)處理的格式是.csv,當(dāng)然也可以輸入Excel文件,并用Mito轉(zhuǎn)成兩份.csv文件。
然后,將這兩份數(shù)據(jù)集合并在一起,只需要用鼠標(biāo)勾選對(duì)應(yīng)功能、選中相關(guān)數(shù)據(jù)列就行。
啪!代碼就生成好了。
然后,是做數(shù)據(jù)透視表,在完成分組后,采用聚合(aggregate)功能來(lái)切換聚合方法。
還包括數(shù)據(jù)過(guò)濾功能,同樣立刻就能生成相關(guān)代碼。
包含升降序排序功能,快速簡(jiǎn)潔。
然后就是相關(guān)數(shù)據(jù)統(tǒng)計(jì)、分析出結(jié)果了,流程直觀。
保存分析文件的方法也很簡(jiǎn)單,文件是以Python編寫(xiě)的,而不是用比較難懂的VBA。
要想重復(fù)上面的步驟的話,也非常容易,Mito自帶“重復(fù)已保存分析步驟”功能,一鍵就能用同樣的方法分析其他數(shù)據(jù)。
確實(shí)要比一行行編寫(xiě)代碼簡(jiǎn)單多了。
關(guān)于Mito
那么,Mito的作者們,為什么要搞這個(gè)軟件?
因?yàn)樗麄儼l(fā)現(xiàn),所謂的“幾天上手Python數(shù)據(jù)分析”,其實(shí)根本沒(méi)有那么容易……
初學(xué)者要想用Python搞數(shù)據(jù)分析,就得不停地查看各種文檔、和求助于StackOverflow。
要想真正快速用Python分析數(shù)據(jù),最后還得自己編寫(xiě)軟件。
三位作者Aaron Diamond-Reivich、Jake Diamond-Reivich和Nate Rush都來(lái)自賓大,在學(xué)校期間,他們學(xué)習(xí)了計(jì)算機(jī)科學(xué)、統(tǒng)計(jì)學(xué)和商業(yè)分析相關(guān)的課程。
也正是在搞數(shù)據(jù)分析的時(shí)候,他們萌生了想要制作Mito的想法。
作者表示,軟件目前還沒(méi)有開(kāi)源,因?yàn)樗麄冞€在思考,如何支持維護(hù)這個(gè)項(xiàng)目,并轉(zhuǎn)到開(kāi)源路徑上來(lái)。
不過(guò),它現(xiàn)在已經(jīng)可以使用了。
感興趣的小伙伴們,可以上手試試了~
項(xiàng)目主頁(yè):
https://trymito.io/launch