????????上次我們用Excle這把“屠龍刀”進(jìn)行的數(shù)據(jù)分析,江湖有云“倚天不出,誰與爭鋒”,那我們今天就用這把倚天劍(Python)再來對(duì)同一案例進(jìn)行數(shù)據(jù)的剖析,"Let's go"!??
????????那我們就先來看看這把倚天劍的劍柄(pandas-----讀取數(shù)據(jù)文件): pandase內(nèi)置我們常見數(shù)據(jù)文件(文本痴突、CSV喧兄、Excel)的讀取函數(shù),只要輸入相應(yīng)的文件名,它就會(huì)自動(dòng)幫你把相應(yīng)的數(shù)據(jù)文件讀進(jìn)來,等待你的分析;然后就再來看看這把倚天劍的劍身(pandas-----基本數(shù)據(jù)結(jié)構(gòu)):在分析中我們經(jīng)常會(huì)用到兩個(gè)基本數(shù)據(jù)概念(Series宅粥、dataFrame).Series就是類似一維數(shù)組的對(duì)象,由一組數(shù)據(jù)及與之相關(guān)的數(shù)據(jù)標(biāo)簽(索引所組成)参袱。dataFrame就是由一組數(shù)據(jù)與一對(duì)索引(行索引和列索引)組成的表格型數(shù)據(jù)結(jié)構(gòu)。具體結(jié)構(gòu)看下圖:
????????????????????????????????所有的操作的數(shù)據(jù)基礎(chǔ)都在這兩個(gè)基本的數(shù)據(jù)結(jié)構(gòu)里,用的
最多的幾種操作如下所示:
? ? ? ? 1.數(shù)據(jù)篩選:
? ??????? ? ? ? ? ? ?dataFrame[[字段名稱1,...字段名稱n]]
? ? ? ? ? ? ? ? ? ? ?????????把數(shù)據(jù)按所指明的列索引篩選出來? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?eg:dataFrame[[age,sex,birthdate]]
?????????????????????dataFrame[dataFrame[條件表達(dá)式1]]...[dataFrame[條件表達(dá)式n]]
? ? ? ? ? ? ? ? ? ? ? ? ? ? 把數(shù)據(jù)按所列條件表達(dá)式的列索引篩選出來
? ? ? ? ? ? ? ? ? ? ? ? ? ? eg:dataFrame[dataFrame["age"]<20]
? ? ? ? 2.???數(shù)據(jù)合并:
? ? ? ? ? ? ? ? ? ? ?dataFrame.append
? ? ? ? ? ? ? ? ? ? ? ? ? 對(duì)涉及的表進(jìn)行縱向連接,類似于縱向擴(kuò)充及追加的效果粹胯。?
? ? ? ? ? ? ? ? ? ? ?pandas.merge
? ? ? ? ? ? ? ? ? ? ? ? ? 對(duì)涉及的表進(jìn)行橫向連接,類似于橫向擴(kuò)充及追加的效果蓖柔。
? ? ? ? ? ? ? ? ? ? ? pandas.pivot_table------------------
? ? ? ? ? ? ? ? ? ? ? ? ?對(duì)傳入的數(shù)據(jù)按透視表的規(guī)則進(jìn)行匯總,相應(yīng)的各項(xiàng)參數(shù)一一對(duì)應(yīng)Excle透視表的設(shè)置?
????????最后我們看看這把倚天劍的劍尖(matplotlib------圖形展示):
? ????????????????matplotlib它是Python繪制線圖、散點(diǎn)圖风纠、等高線圖况鸣、條形圖、柱狀圖竹观、3D 圖形镐捧、甚至是圖形動(dòng)畫等等的圖庫潜索。它提供了很多方法,有興趣的自己可以看文檔懂酱。其中要注意的是它本身不支持中文字體,需要用matplotlib.pyplot對(duì)rcParams設(shè)置相應(yīng)的字體為"SimHei"來解決叉弦。
????????光說不練是假把式欺殿,光練不說是啞把式,直接上圖看效果:
?????????從圖表和數(shù)據(jù)上,Python和Excle結(jié)果吻合。對(duì)于沒有編程基礎(chǔ)的還是采用屠龍刀-----Excle的好珍坊;對(duì)于有編程能力的小伙伴來說,用倚天劍----Python更能發(fā)揮數(shù)據(jù)分析的自由性黎做。
? ? ? ? ? ?個(gè)人之作轉(zhuǎn)載請(qǐng)注明出處勇劣!