計(jì)算與推斷思維 六、可視化

六魔种、可視化

原文:Visualization

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

自豪地采用谷歌翻譯

表格是一種組織和可視化數(shù)據(jù)的強(qiáng)大方式。然而粉洼,無論數(shù)據(jù)如何組織节预,數(shù)字的大型表格可能難以解釋。 有時(shí)解釋圖片比數(shù)字容易得多属韧。

在本章中安拟,我們將開發(fā)一些數(shù)據(jù)分析的基本圖形方法。 我們的數(shù)據(jù)源是互聯(lián)網(wǎng)電影數(shù)據(jù)庫(IMDB)宵喂,這是一個(gè)在線數(shù)據(jù)庫糠赦,包含電影,電視節(jié)目锅棕,和視頻游戲等信息拙泽。Box Office Mojo 網(wǎng)站提供了許多 IMDB 數(shù)據(jù)摘要,我們已經(jīng)采用了其中一些哲戚。 我們也使用了 The Numbers 的數(shù)據(jù)摘要奔滑,這個(gè)網(wǎng)站的口號(hào)是“數(shù)據(jù)和電影業(yè)務(wù)的相遇之處”艾岂。

散點(diǎn)圖和線形圖

actors表包含好萊塢的男性和女性演員的數(shù)據(jù)顺少。 其中的列是:

內(nèi)容
Actor 演員名稱
Total Gross 演員所有電影的國內(nèi)票房總收入(百萬美元)
Number of Movies 演員所演的電影數(shù)量
Average per Movie 總收入除以電影數(shù)量
#1 Movie 演員所演的票房最高的電影
Gross 演員的 #1 電影的國內(nèi)票房總收入(百萬美元)

在總票房的計(jì)算中,數(shù)據(jù)的制表人沒有包括一些電影王浴,其中演員是客串角色或陳述角色脆炎,沒有太多的登場時(shí)間。

這個(gè)表格有 50 行氓辣,對(duì)應(yīng)著 50 個(gè)最頂級(jí)的演員秒裕。 這個(gè)表已經(jīng)按照Total Gross排序了,所以很容易看出钞啸,Harrison Ford是最棒的演員几蜻。 總的來說,他的電影的國內(nèi)票房收入比其他演員的電影多体斩。

actors = Table.read_table('actors.csv')
actors
Actor Total Gross Number of Movies Average per Movie #1 Movie Gross
Harrison Ford 4871.7 41 118.8 Star Wars: The Force Awakens 936.7
Samuel L. Jackson 4772.8 69 69.2 The Avengers 623.4
Morgan Freeman 4468.3 61 73.3 The Dark Knight 534.9
Tom Hanks 4340.8 44 98.7 Toy Story 3 415
Robert Downey, Jr. 3947.3 53 74.5 The Avengers 623.4
Eddie Murphy 3810.4 38 100.3 Shrek 2 441.2
Tom Cruise 3587.2 36 99.6 War of the Worlds 234.3
Johnny Depp 3368.6 45 74.9 Dead Man's Chest 423.3
Michael Caine 3351.5 58 57.8 The Dark Knight 534.9
Scarlett Johansson 3341.2 37 90.3 The Avengers 623.4

(已省略 40 行)

術(shù)語梭稚。變量是我們稱之為“特征”的東西的正式名稱,比如'number of movies'絮吵。 術(shù)語“變量”強(qiáng)調(diào)了弧烤,對(duì)于不同的個(gè)體,這個(gè)特征可以有不同的值 - 演員所演電影的數(shù)量因人而異蹬敲。

擁有數(shù)值的變量(如'number of movies''average gross receipts per movie')的變量稱為定量或數(shù)值變量暇昂。

散點(diǎn)圖

散點(diǎn)圖展示兩個(gè)數(shù)值變量之間的關(guān)系莺戒。 在前面的章節(jié)中,我們看到了一個(gè)散點(diǎn)圖的例子急波,我們看了兩個(gè)經(jīng)典小說的時(shí)間段和角色數(shù)量从铲。

Tablescatter方法繪制一個(gè)散點(diǎn)圖,由表格的每一行組成幔崖。它的第一個(gè)參數(shù)是要在橫軸上繪制的列標(biāo)簽食店,第二個(gè)參數(shù)是縱軸上的列標(biāo)簽。

actors.scatter('Number of Movies', 'Total Gross')
image

散點(diǎn)圖包含 50 個(gè)點(diǎn)赏寇,表中的每個(gè)演員為一個(gè)吉嫩。 一般來說,你可以看到它向上傾斜嗅定。 一個(gè)演員的電影越多自娩,所有這些電影的總收入就越多。

在形式上渠退,我們說圖表顯示了變量之間的關(guān)聯(lián)忙迁,并且關(guān)聯(lián)是正的:一個(gè)變量的高值往往與另一個(gè)變量的高值相關(guān)聯(lián),而低值也是一樣碎乃,通常情況下姊扔。

當(dāng)然有一些變化。 一些演員有很多電影梅誓,但總收入中等恰梢。 其他人電影數(shù)量中等,但收入很高梗掰。正相關(guān)只是一個(gè)大體趨勢(shì)的敘述嵌言。

在課程后面,我們將學(xué)習(xí)如何量化關(guān)聯(lián)及穗。目前摧茴,我們只是定性地思考。

現(xiàn)在我們已經(jīng)探索了電影的數(shù)量與總收入的關(guān)系埂陆,讓我們把注意力轉(zhuǎn)向它與每部電影的平均收入的關(guān)系苛白。

actors.scatter('Number of Movies', 'Average per Movie')
image

這是一個(gè)截然不同的情況,并表現(xiàn)出負(fù)相關(guān)焚虱。 一般來說购裙,演員的電影數(shù)量越多,每部電影的平均收入就越少著摔。

另外缓窜,有一個(gè)點(diǎn)是非常高的,在繪圖的左邊。 它對(duì)應(yīng)于一個(gè)電影數(shù)量很少峭状,每部電影平均值很高的演員。 這個(gè)點(diǎn)是異常的。 它位于數(shù)據(jù)的一般范圍之外赫粥。 事實(shí)上喧笔,這與繪圖中的其他所有點(diǎn)相差甚遠(yuǎn)牌借。

我們將通過查看繪圖的左右兩端的點(diǎn)比然,來進(jìn)一步檢查負(fù)相關(guān)硕淑。

對(duì)于右端靶橱,我們通過查看沒有異常值的部分來放大圖的主體寥袭。

no_outlier = actors.where('Number of Movies', are.above(10))
no_outlier.scatter('Number of Movies', 'Average per Movie')
image

負(fù)相關(guān)仍然清晰可見。 讓我們找出一些演員关霸,對(duì)應(yīng)位于繪圖右側(cè)的點(diǎn)传黄,這里電影數(shù)量較多:

actors.where('Number of Movies', are.above(60))
Actor Total Gross Number of Movies Average per Movie #1 Movie Gross
Samuel L. Jackson 4772.8 69 69.2 The Avengers 623.4
Morgan Freeman 4468.3 61 73.3 The Dark Knight 534.9
Robert DeNiro 3081.3 79 39 Meet the Fockers 279.3
Liam Neeson 2942.7 63 46.7 The Phantom Menace 474.5

偉大的演員羅伯特·德尼羅(Robert DeNiro)擁有最高的電影數(shù)量和最低的每部電影的平均收入。 其他優(yōu)秀的演員在不遠(yuǎn)處的點(diǎn)队寇,但德尼羅在極遠(yuǎn)處膘掰。

為了理解負(fù)相關(guān),請(qǐng)注意佳遣,演員所演的電影越多识埋,在風(fēng)格,流派和票房方片零渐,這些電影變化就越大窒舟。 例如,一個(gè)演員可能會(huì)出現(xiàn)在一些高收入的動(dòng)作電影或喜劇中(如 Meet Fockers)诵盼,也可能是優(yōu)秀但不會(huì)吸引大量人群的小眾電影惠豺。 因此银还,演員的每部電影的平均收入值可能相對(duì)較低。

為了從不同的角度來看待這個(gè)觀點(diǎn)洁墙,現(xiàn)在讓我們來看看這個(gè)異常點(diǎn)见剩。

actors.where('Number of Movies', are.below(10))
Actor Total Gross Number of Movies Average per Movie #1 Movie Gross
Anthony Daniels 3162.9 7 451.8 Star Wars: The Force Awakens 936.7

作為一名演員,安東尼·丹尼爾斯(Anthony Daniels)可能沒有羅伯特·德尼羅(Robert DeNiro)的身材扫俺。 但是他的 7 部電影的平均收入?yún)s高達(dá)每部電影近 4.52 億美元苍苞。

這些電影是什么? 你可能知道《星球大戰(zhàn):C-3PO》中的 Droid C-3PO狼纬,那是金屬機(jī)甲里面的安東尼·丹尼爾斯羹呵。 他扮演 C-3PO。

image

丹尼爾斯先生的全部電影(除了客串)都是由高收入的“星球大戰(zhàn)”系列電影組成的疗琉。 這就解釋了他的高平均收入和低電影數(shù)量冈欢。

類型和制作預(yù)算等變量,會(huì)影響電影數(shù)量與每部電影的平均收入之間的關(guān)聯(lián)盈简。 這個(gè)例子提醒人們凑耻,研究兩個(gè)變量之間的關(guān)聯(lián),往往也涉及到了解其他相關(guān)的變量柠贤。

線形圖

線形圖是最常見的可視化圖形之一香浩,通常用于研究時(shí)序型的趨勢(shì)和模式。

movies_by_year表包含了 1980 年到 2015 年間臼勉,美國電影公司制作的電影的數(shù)據(jù)邻吭。這些列是:

內(nèi)容
Year 年份
Total Gross 所有發(fā)行電影的國內(nèi)總票房收入(以百萬美元為單位)
Number of Movies 發(fā)行的電影數(shù)量
#1 Movie 收入最高的電影
movies_by_year = Table.read_table('movies_by_year.csv')
movies_by_year
Year Total Gross Number of Movies #1 Movie
2015 11128.5 702 Star Wars: The Force Awakens
2014 10360.8 702 American Sniper
2013 10923.6 688 Catching Fire
2012 10837.4 667 The Avengers
2011 10174.3 602 Harry Potter / Deathly Hallows (P2)
2010 10565.6 536 Toy Story 3
2009 10595.5 521 Avatar
2008 9630.7 608 The Dark Knight
2007 9663.8 631 Spider-Man 3
2006 9209.5 608 Dead Man's Chest

(省略了 26 行)

Tableplot方法產(chǎn)生線形圖。 它的兩個(gè)參數(shù)與散點(diǎn)圖相同:首先是橫軸上的列宴霸,然后是縱軸上的列囱晴。 這是 1980 年到 2015 年間每年發(fā)行的電影數(shù)量的線形圖。

movies_by_year.plot('Year', 'Number of Movies')
image

雖然每年的數(shù)字都有明顯的變化瓢谢,但圖形急劇上升畸写,然后呈現(xiàn)平緩的上升趨勢(shì)。 20 世紀(jì) 80 年代早期的劇增氓扛,部分是由于在上世紀(jì) 70 年代枯芬,電影制作人推動(dòng)電影業(yè)的幾年后,電影制片廠重新回到電影制作的前沿幢尚。

我們的重點(diǎn)將放在最近幾年破停。 根據(jù)電影的主題翅楼,對(duì)應(yīng) 2000 年到 2015 年的行尉剩,分配給名稱century_21

century_21 = movies_by_year.where('Year', are.above(1999))
century_21.plot('Year', 'Number of Movies')
image

2008 年的全球金融危機(jī)有明顯的效果 - 2009 年發(fā)行的電影數(shù)量急劇下降毅臊。

但是理茎,美元數(shù)量并沒有太大的變化。

century_21.plot('Year', 'Total Gross')
image

盡管發(fā)生了金融危機(jī),電影發(fā)行的數(shù)量也少得多皂林,但 2009 年的國內(nèi)總收入仍高于 2008 年朗鸠。

造成這種矛盾的一個(gè)原因是,人們?cè)诮?jīng)濟(jì)衰退時(shí)往往會(huì)去看電影础倍。 “經(jīng)濟(jì)低迷時(shí)期烛占,美國人涌向電影”,“紐約時(shí)報(bào)”于 2009 年 2 月說沟启。文章引用南加州大學(xué)的馬丁·卡普蘭(Martin Kaplan)的話說:“人們想要忘記自己的煩惱忆家,想和別人在一起〉录#” 當(dāng)節(jié)假日和昂貴的款待難以負(fù)擔(dān)芽卿,電影提供了受歡迎的娛樂和寬慰。

2009 年的高票房收入的另一個(gè)原因是胳搞,電影《阿凡達(dá)》及其 3D 版本卸例。 阿凡達(dá)不僅是 2009 年的第一部電影,它也是有史以來第二高的總票房電影肌毅,我們將在后面看到筷转。

century_21.where('Year', are.equal_to(2009))
Year Total Gross Number of Movies #1 Movie
2009 10595.5 521 Avatar

類別分許

可視化類別分布

許多數(shù)據(jù)不以數(shù)字的形式出現(xiàn)。 數(shù)據(jù)可以是音樂片段悬而,或地圖上的地方旦装。 他們也可以是類別,你可以在里面放置個(gè)體摊滔。 以下是一些類別變量的例子阴绢。

  • 個(gè)體是冰淇淋紙盒,變量就是紙盒里的味道艰躺。
  • 個(gè)體是職業(yè)籃球運(yùn)動(dòng)員呻袭,變量是球員的隊(duì)伍。
  • 個(gè)體是年腺兴,而變量是今年最高票房電影的流派左电。
  • 個(gè)體是調(diào)查對(duì)象,變量是他們從“完全不滿意”页响,“有點(diǎn)滿意”和“非常滿意”中選擇的回答篓足。

icecream表包含 30 盒冰激凌的數(shù)據(jù)。

icecream = Table().with_columns(
    'Flavor', make_array('Chocolate', 'Strawberry', 'Vanilla'),
    'Number of Cartons', make_array(16, 5, 9)
)
icecream
Flavor Number of Cartons
Chocolate 16
Strawberry 5
Vanilla 9

分類變量“口味”的值是巧克力闰蚕,草莓和香草栈拖。 表格顯示了每種口味的紙盒數(shù)量。 我們稱之為分布表没陡。 分布顯示了所有變量的值涩哟,以及每個(gè)變量的頻率索赏。

條形圖

條形圖是可視化類別分布的熟悉方式。 它為每個(gè)類別顯示一個(gè)條形贴彼。 條形的間隔相等绽族,寬度相同徐鹤。 每個(gè)條形的長度與相應(yīng)類別的頻率成正比。

我們使用橫條繪制條形圖,因?yàn)檫@樣更容易標(biāo)注條形圖悠轩。 所以Table的方法稱為barh芬失。 它有兩個(gè)參數(shù):第一個(gè)是類別的列標(biāo)簽袍啡,第二個(gè)是頻率的列標(biāo)簽辽旋。

icecream.barh('Flavor', 'Number of Cartons')
image

如果表格只包含一列類別和一列頻率(如冰淇淋),則方法調(diào)用甚至更簡單杂拨。 你可以指定包含類別的列专普,barh將使用另一列中的值作為頻率。

icecream.barh('Flavor')
image

類別分布的特征

除了純粹的視覺差異之外弹沽,條形圖和我們?cè)谇懊嬲鹿?jié)中看到的兩個(gè)圖表之間還有一個(gè)重要的區(qū)別檀夹。 它們是散點(diǎn)圖和線圖,兩者都顯示兩個(gè)數(shù)值變量 - 兩個(gè)軸上的變量都是數(shù)值型的策橘。 相比之下炸渡,條形圖的一個(gè)軸上是類別,在另一個(gè)軸上具有數(shù)值型頻率丽已。

這對(duì)圖表有影響蚌堵。首先,每個(gè)條形的寬度和相鄰條形之間的間隔完全取決于生成圖的人沛婴,或者用于生成該圖的程序吼畏。 Python 為我們做了這些選擇。 如果你要手動(dòng)繪制條形圖嘁灯,則可以做出完全不同的選擇泻蚊,并且仍然會(huì)是完全正確的條形圖,前提是你使用相同寬度繪制了所有條形丑婿,并使所有間隔保持相同性雄。

最重要的是,條形可以以任何順序繪制羹奉。 “巧克力”秒旋,“香草”和“草莓”這些類別沒有普遍的等級(jí)順序,不像數(shù)字5, 710诀拭。

這意味著我們可以繪制一個(gè)易于解釋的條形圖迁筛,方法是按降序重新排列條形圖。 為了實(shí)現(xiàn)它炫加,我們首先按照Number of Cartons的降序瑰煎,重新排列icecream的行铺然,然后繪制條形圖俗孝。

icecream.sort('Number of Cartons', descending=True).barh('Flavor')
image

這個(gè)條形圖包含的信息和以前的完全一樣酒甸,但是它更容易閱讀。 雖然在只讀三個(gè)條形的情況下赋铝,這并不是一個(gè)巨大的收益插勤,但是當(dāng)分類數(shù)量很大時(shí),這可能是相當(dāng)重要的革骨。

組合分類數(shù)據(jù)

為了構(gòu)造icecream表农尖,有人不得不查看 30 個(gè)冰淇淋盒子,并計(jì)算每種口味的數(shù)量良哲。 但是盛卡,如果我們的數(shù)據(jù)還沒有包含頻率,我們必須在繪制條形圖之前計(jì)算頻率筑凫。 這是一個(gè)例子滑沧,其中它是必要的。

top表由美國歷史上最暢銷的電影組成巍实。 第一列包含電影的標(biāo)題滓技;《星球大戰(zhàn):原力覺醒》(Star Wars: The Force Awakens)排名第一,美國票房總額超過 9 億美元棚潦。 第二列包含制作電影的工作室的名稱令漂。 第三列包含國內(nèi)票房收入(美元),第四列包含按 2016 年價(jià)格計(jì)算的丸边,票面總收入叠必。 第五列包含電影的發(fā)行年份。

列表中有 200 部電影妹窖。 根據(jù)未調(diào)整的總收入挠唆,這是前十名。

top = Table.read_table('top_movies.csv')
top
Title Studio Gross Gross (Adjusted) Year
Star Wars: The Force Awakens Buena Vista (Disney) 906723418 906723400 2015
Avatar Fox 760507625 846120800 2009
Titanic Paramount 658672302 1178627900 1997
Jurassic World Universal 652270625 687728000 2015
Marvel's The Avengers Buena Vista (Disney) 623357910 668866600 2012
The Dark Knight Warner Bros. 534858444 647761600 2008
Star Wars: Episode I - The Phantom Menace Fox 474544677 785715000 1999
Star Wars Fox 460998007 1549640500 1977
Avengers: Age of Ultron Buena Vista (Disney) 459005868 465684200 2015
The Dark Knight Rises Warner Bros. 448139099 500961700 2012

(省略了 190 行)

迪斯尼的子公司布埃納維斯塔(Buena Vista)就像钢雎穑克斯(Fox)和華納兄弟(Warner Brothers)一樣玄组,經(jīng)常出現(xiàn)在前十名中 如果我們從 200 行中看,哪個(gè)工作室最常出現(xiàn)谒麦?

為了解決這個(gè)問題俄讹,首先要注意的是,我們需要的只是一個(gè)擁有電影和工作室的表格绕德;其他信息是不必要的患膛。

movies_and_studios = top.select('Title', 'Studio')

Tablegroup方法組允許我們,通過將每個(gè)工作室當(dāng)做一個(gè)類別耻蛇,并將每一行分配給一個(gè)類別踪蹬,來計(jì)算每個(gè)工作室出現(xiàn)在表中的頻率胞此。 group方法將包含類別的列標(biāo)簽作為其參數(shù),并返回每個(gè)類別中行數(shù)量的表格跃捣。 數(shù)量列始終稱為count漱牵,但如果你希望的話,則可以使用relabeled更改該列疚漆。

movies_and_studios.group('Studio')
Studio count
AVCO 1
Buena Vista (Disney) 29
Columbia 10
Disney 11
Dreamworks 3
Fox 26
IFC 1
Lionsgate 3
MGM 7
MPC 1

(省略了 14 行)

因此酣胀,group創(chuàng)建一個(gè)分布表,顯示電影在類別(工作室)之間如何分布娶聘。

現(xiàn)在我們可以使用這個(gè)表格闻镶,以及我們上面獲得的圖形技能來繪制條形圖,顯示前 200 個(gè)最高收入的電影中丸升,哪個(gè)工作室是最常見的铆农。

studio_distribution = movies_and_studios.group('Studio')
studio_distribution.sort('count', descending=True).barh('Studio')
image

華納兄弟(Warner Brothers)和布埃納維斯塔(Buena Vista)是前 200 電影中最常見的工作室。 華納兄弟制作了哈利波特電影狡耻,布埃納維斯塔制作了星球大戰(zhàn)墩剖。

由于總收入以未經(jīng)調(diào)整的美元來衡量,所以最近幾年的頂級(jí)電影比過去幾十年更頻繁酝豪,這并不令人驚訝涛碑。 以絕對(duì)數(shù)量來看,現(xiàn)在的電影票價(jià)比以前更高孵淘,因此總收入也更高蒲障。 這是通過條形圖證明的,這些條形圖顯示了 200 部電影的發(fā)行年份瘫证。

movies_and_years = top.select('Title', 'Year')
movies_and_years.group('Year').sort('count', descending=True).barh('Year')
image

所有最長的條形都對(duì)應(yīng) 2000 年以后的年份揉阎。這與我們的觀察一致,即最近幾年應(yīng)該是最頻繁的背捌。

面向數(shù)值變量

這張圖有一些未解決的地方毙籽。 雖然它確實(shí)回答了這個(gè)問題,200 部最受歡迎的電影中毡庆,最常見的發(fā)行年份坑赡,但并沒有按時(shí)間順序列出所有年份。 它將年作為一個(gè)分類變量么抗。

但是毅否,年份是固定的時(shí)序單位,確實(shí)擁有順序蝇刀。 他們也有相對(duì)于彼此的固定的數(shù)值距離螟加。 讓我們看看當(dāng)我們?cè)噲D考慮它的時(shí)候會(huì)發(fā)生什么。

默認(rèn)情況下,barh將類別(年)從最低到最高排序捆探。 所以我們將運(yùn)行這個(gè)代碼然爆,但不按count進(jìn)行排序。

movies_and_years.group('Year').barh('Year')
image

現(xiàn)在年份是升序了黍图。 但是這個(gè)條形圖還是有點(diǎn)問題曾雕。 1921 年和 1937 年的條形與 1937 年和 1939 年的條形相距甚遠(yuǎn)。條形圖并沒有顯示出雌隅,200 部電影中沒有一部是在 1922 年到 1936 年間發(fā)布的翻默「孜郑基于這種可視化恰起,這種不一致和遺漏,使早期年份的分布難以理解趾牧。

條形圖用做類別變量的可視化检盼。 當(dāng)變量是數(shù)值,并且我們創(chuàng)建可視化時(shí)翘单,必須考慮其值之間的數(shù)值關(guān)系吨枉。 這是下一節(jié)的主題。

數(shù)值分布

可視化數(shù)值分布

數(shù)據(jù)科學(xué)家研究的許多變量是定量的或數(shù)值的哄芜。它們的值是你可以做算術(shù)的數(shù)字貌亭。我們所看到的例子包括一本書的章節(jié)數(shù)量,電影的收入以及美國人的年齡认臊。

類別變量的值可以按照數(shù)字編碼圃庭,但是這不會(huì)使變量成為定量的。在我們研究的失晴,按年齡組分類的人口普查數(shù)據(jù)的例子中剧腻,分類變量SEX中,'Male'的數(shù)字代碼為1涂屁,'Female'的數(shù)字代碼為2书在,以及分組12的合計(jì)為012是數(shù)字拆又,在這種情況下儒旬,從2中減1或取0,12的平均值,或?qū)@三個(gè)值執(zhí)行其他算術(shù)是沒有意義的帖族。 SEX是一個(gè)類別變量栈源,即使這些值已經(jīng)賦予一個(gè)數(shù)字代碼。

對(duì)于我們的主要示例盟萨,我們將返回到我們?cè)诳梢暬诸悢?shù)據(jù)時(shí)凉翻,所研究的數(shù)據(jù)集。這是一個(gè)表格捻激,它由美國歷史上最暢銷的電影中的數(shù)據(jù)組成制轰。為了方便起見前计,這里再次描述表格。

第一列包含電影的標(biāo)題垃杖。第二列包含制作電影的工作室的名稱男杈。第三個(gè)包含國內(nèi)票房總值(美元),第四個(gè)包含按 2016 年價(jià)格計(jì)算的票面收入總額调俘。第五個(gè)包含電影的發(fā)行年份伶棒。

列表中有 200 部電影。根據(jù)Gross列中未調(diào)整的總收入肤无,這是前十名骇钦。

top = Table.read_table('top_movies.csv')
# Make the numbers in the Gross and Gross (Adjusted) columns look nicer:
top.set_format([2, 3], NumberFormatter)
Title Studio Gross Gross (Adjusted) Year
Star Wars: The Force Awakens Buena Vista (Disney) 906,723,418 906,723,400 2015
Avatar Fox 760,507,625 846,120,800 2009
Titanic Paramount 658,672,302 1,178,627,900 1997
Jurassic World Universal 652,270,625 687,728,000 2015
Marvel's The Avengers Buena Vista (Disney) 623,357,910 668,866,600 2012
The Dark Knight Warner Bros. 534,858,444 647,761,600 2008
Star Wars: Episode I - The Phantom Menace Fox 474,544,677 785,715,000 1999
Star Wars Fox 460,998,007 1,549,640,500 1977
Avengers: Age of Ultron Buena Vista (Disney) 459,005,868 465,684,200 2015
The Dark Knight Rises Warner Bros. 448,139,099 500,961,700 2012

(省略了 190 行)

可視化調(diào)整后收入的分布

在本節(jié)中眯搭,我們將繪制Gross (Adjusted)列中數(shù)值變量的分布圖窥翩。 為了簡單起見,我們創(chuàng)建一個(gè)包含我們所需信息的小表鳞仙。 而且由于三位數(shù)字比九位數(shù)字更容易處理寇蚊,我們以百萬美元衡量調(diào)整后的總收入。 注意如何使用舍入僅保留兩位小數(shù)棍好。

millions = top.select(0).with_column('Adjusted Gross', 
                                     np.round(top.column(3)/1e6, 2))
millions
Title Adjusted Gross
Star Wars: The Force Awakens 906.72
Avatar 846.12
Titanic 1178.63
Jurassic World 687.73
Marvel's The Avengers 668.87
The Dark Knight 647.76
Star Wars: Episode I - The Phantom Menace 785.72
Star Wars 1549.64
Avengers: Age of Ultron 465.68
The Dark Knight Rises 500.96

直方圖

數(shù)值數(shù)據(jù)集的直方圖看起來非常像條形圖仗岸,雖然它有一些重要的差異,我們將在本節(jié)中討論梳玫。 首先爹梁,我們只畫出調(diào)整后收入的直方圖。

hist方法生成列中值的直方圖提澎。 可選的單位參數(shù)用于兩個(gè)軸上的標(biāo)簽姚垃。 直方圖顯示調(diào)整后的總額分布,以百萬美元為單位盼忌。

millions.hist('Adjusted Gross', unit="Million Dollars")
image

橫軸

這些金額已被分組為連續(xù)的間隔积糯,稱為桶。盡管在這個(gè)數(shù)據(jù)集中看成,沒有電影正好在兩個(gè)桶之間的邊緣上,但是hist必須考慮數(shù)值可能在邊緣的情況梦重。所以hist有一個(gè)端點(diǎn)約定:bin包含左端點(diǎn)的數(shù)據(jù)降瞳,但不包含右端點(diǎn)的數(shù)據(jù)。

我們使用符號(hào)[a, b)表示從a開始并在b結(jié)束但不包括b的桶扔枫。

有時(shí)贞岭,必須在第一個(gè)或最后一個(gè)箱中進(jìn)行調(diào)整话速,以確保包含變量的最小值和最大值。在前面研究的人口普查數(shù)據(jù)中,你看到了一個(gè)這樣的調(diào)整的例子研乒,其中“100”歲的年齡實(shí)際上意味著“100 歲以上”。

我們可以看到竿报,有 10 個(gè)桶(有些桶很低,難以看到)侨嘀,而且它們的寬度都是一樣的。我們也可以看到涨共,沒有一部電影的收入不到三億美元,那是因?yàn)槲覀冎豢紤]有史以來最暢銷的電影。

準(zhǔn)確看到桶的末端在哪里魁索,有點(diǎn)困難。例如鹏控,精確地確定值 500 位于橫軸上的位置并不容易。所以很難判斷一個(gè)條形的結(jié)束位置和下一個(gè)條形的開始位置缘揪。

可選參數(shù)bins可以與hist一起使用來指定桶的端點(diǎn)澡刹。它必須由一系列數(shù)字組成陆赋,這些數(shù)字以第一個(gè)桶的左端開始赖临,以最后一個(gè)桶的右端結(jié)束。我們首先將桶中的數(shù)字設(shè)置為300,400,500等等吵聪,以2000結(jié)尾。

millions.hist('Adjusted Gross', bins=np.arange(300,2001,100), unit="Million Dollars")
image

這個(gè)圖的橫軸比較容易閱讀。 標(biāo)簽200,400,600等以對(duì)應(yīng)的值為中心囱井。 最高的條形是對(duì)應(yīng)三億到四億美元之間的電影。

少數(shù)電影投入了 8 億美元甚至更多料祠。 這導(dǎo)致這個(gè)數(shù)字“向右傾斜”敛苇,或者更不正式地說,“右側(cè)長尾”来涨。 大量人口的收入或租金等變量的分布也經(jīng)常具有這種形式技羔。

桶的數(shù)量

可以使用bin方法從一個(gè)表格中計(jì)算出桶中的值的數(shù)量,該方法接受列標(biāo)簽或索引,以及可選的序列或桶的數(shù)量时呀。 結(jié)果是直方圖的表格形式。 第一列列出了桶的左端點(diǎn)(但請(qǐng)參閱下面關(guān)于最終值的注釋)。 第二列包含Adjusted Gross列中所有值在相應(yīng)桶中的數(shù)量坞靶。 也就是說,它計(jì)數(shù)所有Adjusted Gross的所有值尿这,它們大于或等于bin中的值晃财,但小于下一個(gè)bin中的值罗洗。

bin_counts = millions.bin('Adjusted Gross', bins=np.arange(300,2001,100))
bin_counts.show()
bin Adjusted Gross count
300 81
400 52
500 28
600 16
700 7
800 5
900 3
1000 1
1100 3
1200 2
1300 0
1400 0
1500 1
1600 0
1700 1
1800 0
1900 0
2000 0

注意最后一行的bin值 2000厢洞。 這不是任何條形的左端點(diǎn) - 這是最后一個(gè)條形的右端點(diǎn)卫玖。 按照端點(diǎn)約定假瞬,那里的數(shù)據(jù)不包括在內(nèi)。 因此,相應(yīng)的計(jì)數(shù)記錄為 0榜田,并且即使已經(jīng)有超過二十億美元的電影也被記錄為 0疑枯。 當(dāng)binhist使用bin參數(shù)調(diào)用時(shí)废亭,圖只考慮在指定bin中的值氓拼。

一旦數(shù)值已經(jīng)分入桶中拟逮,所得數(shù)量可以用來使用bin_column命名參數(shù)來生成直方圖凭迹,以指定哪個(gè)列包含桶的下界。

bin_counts.hist('Adjusted Gross count', bin_column='bin', unit='Million Dollars')
image

縱軸:密度刻度

一旦我們已經(jīng)照顧到細(xì)節(jié),如桶的末端蚀狰,直方圖的橫軸易于閱讀。 縱軸的特征需要更多關(guān)注。 我們會(huì)一一講解糙箍。

我們先來看看如何計(jì)算垂直軸上的數(shù)字咕晋。 如果計(jì)算看起來有些奇怪掌呜,請(qǐng)耐心等待 - 本節(jié)的其余部分將解釋原因。

計(jì)算坪哄。每個(gè)條形的高度是桶中的元素的百分比质蕉,除以桶的寬度。

譯者注:存在很多種直方圖翩肌,比如頻數(shù)直方圖念祭、頻率質(zhì)量直方圖和頻率密度直方圖濒旦。它們的縱軸數(shù)值不相同慷荔,但是圖形形狀是一樣的唯笙。這里是最后一種挽放,頻率密度直方圖潦刃。

counts = bin_counts.relabeled('Adjusted Gross count', 'Count')
percents = counts.with_column(
    'Percent', (counts.column('Count')/200)*100
    )
heights = percents.with_column(
    'Height', percents.column('Percent')/100
    )
heights
bin Count Percent Height
300 81 40.5 0.405
400 52 26 0.26
500 28 14 0.14
600 16 8 0.08
700 7 3.5 0.035
800 5 2.5 0.025
900 3 1.5 0.015
1000 1 0.5 0.005
1100 3 1.5 0.015
1200 2 1 0.01

(省略了 8 行)

在上面直方圖的縱軸上查看數(shù)字,檢查列高度是否正確包吝。

如果我們只查看表格的第一行,計(jì)算就會(huì)變得清晰只酥。

請(qǐng)記住,數(shù)據(jù)集中有 200 部電影。這個(gè)[300,400)的桶包含 81 部電影。這是所有電影的 40.5%:[圖片上傳失敗...(image-82e123-1511010602425)]。

[300, 400)桶的寬度是400-300 = 100芒划。所以 [圖片上傳失敗...(image-acb1a7-1511010602425)]俊犯。

用于計(jì)算高度的代碼使用了總共??有 200 個(gè)電影,以及每個(gè)箱的寬度是 100 的事實(shí)。

單位谣蠢。條形的高度是 40.5% 除以 1 億美元次哈,因此高度是 0.405% 每百萬美元占调。

這種繪制直方圖的方法創(chuàng)建了一個(gè)垂直軸取试,它是在密度刻度上的渣窜。條形的高度不是桶中條目的百分比;它是桶中的條目除以桶的寬度。這就是為什么高度衡量擁擠度或密度招刨。

讓我們看看為什么這很重要霎俩。

不等的桶

直方圖相比條形圖的一個(gè)優(yōu)點(diǎn)是,直方圖可以包含不等寬度的桶沉眶。 以下將Millions中的值分為三個(gè)不均勻的類別打却。

uneven = make_array(300, 400, 600, 1500)
millions.hist('Adjusted Gross', bins=uneven, unit="Million Dollars")
image

這里是三個(gè)桶中的數(shù)量。

millions.bin('Adjusted Gross', bins=uneven)
bin Adjusted Gross count
300 81
400 80
600 37
1500 0

雖然范圍[300,400)[400,600)具有幾乎相同的計(jì)數(shù)谎倔,但前者的高度是后者的兩倍柳击,因?yàn)樗挥幸话氲膶挾取?[300,400)中的值的密度是[400,600)中的密度的兩倍。

直方圖幫助我們可視化數(shù)軸上數(shù)據(jù)最集中的地方片习,特別是當(dāng)桶不均勻的時(shí)候捌肴。

僅僅繪制數(shù)量的問題

可以使用hist方法的normed=False選項(xiàng)直接在圖表中顯示數(shù)量。 生成的圖表與直方圖具有相同的形狀藕咏,但這些桶的寬度均相等状知,盡管縱軸上的數(shù)字不同。

millions.hist('Adjusted Gross', bins=np.arange(300,2001,100), normed=False)
image

雖然數(shù)量刻度可能比密度刻度更自然孽查,但當(dāng)桶寬度不同時(shí)饥悴,圖表高度的有誤導(dǎo)性。 下面看起來(由于計(jì)數(shù))高收入電影相當(dāng)普遍盲再,事實(shí)上我們已經(jīng)看到它們相對(duì)較少西设。

millions.hist('Adjusted Gross', bins=uneven, normed=False)
image

即使使用的方法被稱為hist,上面的圖不是一個(gè)直方圖答朋。 誤導(dǎo)性地夸大了至少 6 億美元的電影比例贷揽。 每個(gè)桶的高度只是按照桶中的電影數(shù)量繪制,而不考慮桶寬度的差異绿映。

如果最后兩個(gè)桶組合起來擒滑,情況就變得更加荒謬了腐晾。

very_uneven = make_array(300, 400, 1500)
millions.hist('Adjusted Gross', bins=very_uneven, normed=False)
image

在這個(gè)基于數(shù)量的圖像中,電影分布完全失去了形狀丐一。

直方圖:通用原則和計(jì)算

上圖顯示藻糖,眼睛將面積視為“較大”的東西,而不是高度库车。當(dāng)桶的寬度不同時(shí)巨柒,這種觀察變得尤為重要。

這就是直方圖具有兩個(gè)定義屬性的原因:

  • 桶按比例繪制并且是連續(xù)的(盡管有些可能是空的)柠衍,因?yàn)闄M軸上的值是數(shù)值型的洋满。
  • 每個(gè)條形的面積與桶中的條目數(shù)成比例。

屬性(2)是繪制直方圖的關(guān)鍵珍坊,通常實(shí)現(xiàn)如下:

條形的面積 = 桶中條目的百分比

高度的計(jì)算僅僅使用了一個(gè)事實(shí)牺勾,條形是長方形的。

條形的面積 = 條形的高度 * 桶的寬度

因此阵漏,

條形的高度 = 條形的面積 / 桶的寬度
           = 桶中條目的百分比 / 桶的寬度

高度的單位是“百分比每橫軸單位”驻民。

當(dāng)使用這種方法繪制時(shí),直方圖被稱為在密度刻度上繪制履怯。 在這個(gè)刻度上:

  • 每個(gè)條形的面積等于相應(yīng)桶中的數(shù)據(jù)值的百分比回还。
  • 直方圖中所有條形的總面積為 100%。 從比例的角度來講叹洲,我們說直方圖中所有條形的面積“總計(jì)為 1”柠硕。

平頂和細(xì)節(jié)水平

即使密度刻度使用面積正確表示了百分比,但是通過將值分組到桶中蝗柔,丟失了一些細(xì)節(jié)。

再看一下下圖中的[300,400)的桶诫咱。 值為“0.405% 每百萬美元”的桶的平頂坎缭,隱藏了電影在這個(gè)桶分布有些不均勻的事實(shí)掏呼。

millions.hist('Adjusted Gross', bins=uneven, unit="Million Dollars")
image

為了看到它,讓我們將[300, 400)劃分為更窄的 10 個(gè)桶铅檩。每個(gè)桶的寬度都是一千萬美元憎夷。

some_tiny_bins = make_array(300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 600, 1500)
millions.hist('Adjusted Gross', bins=some_tiny_bins, unit='Million Dollars')
image

直方圖 Q&A

讓我們?cè)佼嬕槐橹狈綀D,這次只有四個(gè)桶昧旨,檢查我們對(duì)概念的理解拾给。

uneven_again = make_array(300, 350, 400, 450, 1500)
millions.hist('Adjusted Gross', bins=uneven_again, unit='Million Dollars')

millions.bin('Adjusted Gross', bins=uneven_again)
image
bin Adjusted Gross count
300 32
350 49
400 25
450 92
1500 0

再次查看直方圖祥得,并將[400,450)的桶與[450,1500)桶進(jìn)行比較。

問:哪個(gè)桶里面有更多的電影蒋得?

答:[450,1500)的桶级及。它有 92 部電影,而[400,450)桶中有 25 部電影额衙。

問:那么為什么[450,1500)的桶比[400,450)桶短得多呢饮焦?

答:因?yàn)楦叨却硗袄锩繂挝豢臻g的密度,而不是桶里的電影數(shù)量窍侧。 [450,1500)的桶中的電影確實(shí)比[400,450)的桶多县踢,但它也是一個(gè)大桶。 所以它不那么擁擠伟件。 其中的電影密度要低得多硼啤。

條形圖和直方圖的區(qū)別

  • 條形圖為每個(gè)類別展示一個(gè)數(shù)量。 它們通常用于顯示類別變量的分布斧账。 直方圖顯示定量變量的分布丙曙。
  • 條形圖中的所有條形都具有相同的寬度,相鄰的條形之間有相等的間距其骄。 直方圖的條形可以具有不同的寬度,并且是連續(xù)的扯旷。
  • 條形圖中條形的長度(或高度拯爽,如果垂直繪制)與每個(gè)類別的值成正比。 直方圖中條形的高度是密度的度量钧忽;直方圖中的條形的面積與桶中的條目數(shù)量成正比毯炮。

重疊的圖表

在這一章中,我們學(xué)習(xí)了如何通過繪制圖表來顯示數(shù)據(jù)耸黑。 這種可視化的常見用法是比較兩個(gè)數(shù)據(jù)集桃煎。 在本節(jié)中,我們將看到如何疊加繪圖大刊,即將它們繪制在單個(gè)圖形中为迈,擁有同一對(duì)坐標(biāo)軸

為了使重疊有意義,重疊的圖必須表示相同的變量并以相同的單位進(jìn)行測(cè)量缺菌。

為了繪制重疊圖葫辐,可以用相同的方法調(diào)用scatterplotbarh方法伴郁。 對(duì)于scatterplot耿战,一列必須作為所有疊加圖的公共橫軸。 對(duì)于barh焊傅,一列必須作為一組類別的公共軸剂陡。 一般的調(diào)用看起來像這樣:

name_of_table.method(column_label_of_common_axis, array_of_labels_of_variables_to_plot)

更常見的是解寝,我們首先僅僅選取圖表所需的列。之后通過指定共同軸上的變量來調(diào)用方法同木。

name_of_table.method(column_label_of_common_axis)

散點(diǎn)圖

高爾頓(Franics Galton嘹害,1822 ~ 1911 年)是一位英國博學(xué)家,他是分析數(shù)值變量之間關(guān)系的先驅(qū)纤泵。 他對(duì)有爭議的優(yōu)生學(xué)領(lǐng)域特別感興趣骆姐,實(shí)際上,他創(chuàng)造了這個(gè)術(shù)語 - 這涉及到如何將物理特征從一代傳到下一代捏题。

高爾頓精心收集了大量的數(shù)據(jù)玻褪,其中一些我們將在本課程中分析。 這是高爾頓的公荧,有關(guān)父母及其子女身高的數(shù)據(jù)的子集带射。 具體來說,數(shù)據(jù)由 179 名男性組成循狰,他們?cè)诩彝ブ械谝粋€(gè)出生窟社。數(shù)據(jù)是他們自己的高度和父母的高度。所有的高度都是以英寸來測(cè)量的绪钥。

heights = Table.read_table('galton_subset.csv')
heights
father mother son
78.5 67 73.2
75.5 66.5 73.5
75 64 71
75 64 70.5
75 58.5 72
74 68 76.5
74 62 74
73 67 71
73 67 68
73 66.5 71

(省略了 169 行)

scatter方法使我們能夠可視化灿里,兒子的身高如何與父母的身高有關(guān)。 在圖中程腹,兒子的身高將形成公共的橫軸匣吊。

heights.scatter('son')
image

注意我們僅僅指定了公共的橫軸上的變量(兒子的身高)。 Python 繪制了兩個(gè)散點(diǎn)圖:這個(gè)變量和另外兩個(gè)之間的關(guān)系寸潦,每個(gè)關(guān)系一個(gè)色鸳。

金色和藍(lán)色的散點(diǎn)圖向上傾斜,并顯示出兒子的高度和父母的高度之間的正相關(guān)见转。 藍(lán)色(父親)的繪圖一般比金色高命雀,因?yàn)楦赣H一般比母親高。

線形圖

我們的下一個(gè)例子涉及更近的兒童數(shù)據(jù)斩箫。 我們將返回到人口普查數(shù)據(jù)表us_pop吏砂,再次在下面創(chuàng)建用于參考。 由此校焦,我們將提取 0 至 18 歲年齡段的所有兒童的數(shù)量赊抖。

# Read the full Census table
census_url = 'http://www2.census.gov/programs-surveys/popest/datasets/2010-2015/national/asrh/nc-est2015-agesex-res.csv'
full_census_table = Table.read_table(census_url)

# Select columns from the full table and relabel some of them
partial_census_table = full_census_table.select(['SEX', 'AGE', 'POPESTIMATE2010', 'POPESTIMATE2014'])
us_pop = partial_census_table.relabeled('POPESTIMATE2010', '2010').relabeled('POPESTIMATE2014', '2014')

# Access the rows corresponding to all children, ages 0-18
children = us_pop.where('SEX', are.equal_to(0)).where('AGE', are.below(19)).drop('SEX')
children.show()
AGE 2010 2014
0 3951330 3949775
1 3957888 3949776
2 4090862 3959664
3 4111920 4007079
4 4077551 4005716
5 4064653 4006900
6 4073013 4135930
7 4043046 4155326
8 4025604 4120903
9 4125415 4108349
10 4187062 4116942
11 4115511 4087402
12 4113279 4070682
13 4119666 4171030
14 4145614 4233839
15 4231002 4164796
16 4313252 4168559
17 4376367 4186513
18 4491005 4227920

現(xiàn)在我們可以繪制兩個(gè)疊加的線形圖,顯示 2010 年和 2014 年的不同年齡的兒童人數(shù)寨典。方法調(diào)用類似于前面例子中的scatter調(diào)用氛雪。

children.plot('AGE')
image

在這個(gè)刻度上,重要的是要記住我們只有0,1,2歲等等的數(shù)據(jù)耸成。 兩個(gè)圖形的點(diǎn)相互“交織”报亩。

這些圖表在一些地方相互交叉:例如浴鸿,2010 年的 4 歲人數(shù)比 2014 年多,2014 年的 14 歲人數(shù)比 2010 年多弦追。

當(dāng)然岳链,2014 年的 14 歲兒童大部分都是 2010 年的 10 歲兒童。為了看到這一點(diǎn)劲件,請(qǐng)查看 14 歲的金色圖表和 10 歲的藍(lán)色圖表掸哑。事實(shí)上,你會(huì)注意到零远,整個(gè)金色圖表(2014 年)看起來像藍(lán)色圖表(2010 年)向右滑了 4 年苗分。 由于 2010 年至 2014 年間進(jìn)入該國的兒童的凈效應(yīng),這個(gè)下滑幅度還是有所上升牵辣, 幸運(yùn)的是摔癣,在這些年代,沒有太多的生命損失纬向。

條形圖

對(duì)于本節(jié)的最后一個(gè)例子择浊,我們看看加利福尼亞州以及整個(gè)美國的成人和兒童的種族分布情況。

凱撒家庭基金會(huì)根據(jù)人口普查數(shù)據(jù)逾条,編制了美國人口種族分布情況琢岩。基金會(huì)的網(wǎng)站提供了 2014 年整個(gè)美國人口以及當(dāng)年 18 歲以下的美國兒童的數(shù)據(jù)匯總师脂。

這里是一個(gè)表格粘捎,采用了美國和加利福尼亞州的數(shù)據(jù)。 這些列代表美國和加利福尼亞州的每個(gè)人危彩,美國和加州的兒童。 表格的主體包含不同類別的比例泳桦。 每一列顯示了汤徽,該列對(duì)應(yīng)的人群的種族分布。 所以在每一列中灸撰,條目總計(jì)為 1谒府。

usa_ca = Table.read_table('usa_ca_2014.csv')
usa_ca
Ethnicity USA All CA All USA Children CA Children
Black 0.12 0.05 0.14 0.05
Hispanic 0.18 0.38 0.24 0.5
White 0.62 0.39 0.52 0.29
Other 0.08 0.18 0.1 0.16

我們自然想要比較這些分布。 直接比較列是有意義的浮毯,因?yàn)樗袟l目都是比例完疫,因此在相同刻度上。

barh方法允許我們通過在相同軸域上繪制多個(gè)條形圖债蓝,將比較可視化壳鹤。這個(gè)調(diào)用類似于scatterplot:我們必須指定類別的公共軸。

譯者注:軸域(Axes)是橫軸和縱軸圍城的區(qū)域饰迹。

usa_ca.barh('Ethnicity')
image

雖然繪制疊加的條形圖非常簡單芳誓,但是我們可以在這個(gè)圖表上找到太多的信息余舶,以便能夠理清種群之間的相似性和差異性。 似乎很清楚的是锹淌,美國所有人和美國兒童的種族分布比任何其他列都更相似匿值,但是一次比較一對(duì)要容易得多。

首先比較美國和加利福尼亞的整個(gè)人口赂摆。

usa_ca.select('Ethnicity', 'USA All', 'CA All').barh('Ethnicity')
image

這兩個(gè)分布是完全不同的挟憔。 加利福尼亞州的拉美裔和其他類別比例較高,黑人和白人比例相應(yīng)較低烟号。 這種差異主要是由于绊谭,加利福尼亞州的地理位置和移民模式,無論是歷史上還是近幾十年來褥符。 例如龙誊,加利福尼亞的“其他”類別包括相當(dāng)一部分亞洲人和太平洋島民。

從圖中可以看出喷楣,2014 年加州近 40% 的人口是拉美裔趟大。 與該州兒童人口的比較表明,未來幾年拉美裔人口的比例可能會(huì)更高铣焊。 在加州兒童中逊朽,50% 屬于拉美裔。

usa_ca.select('Ethnicity', 'CA All', 'CA Children').barh('Ethnicity')
image

更復(fù)雜的數(shù)據(jù)集自然會(huì)產(chǎn)生各種有趣的可視化效果曲伊,包括不同種類的重疊圖形叽讳。 為了分析這些數(shù)據(jù),獲得更多的數(shù)據(jù)操作技能的有幫助的坟募,這樣我們就可以將數(shù)據(jù)轉(zhuǎn)化為一種形式岛蚤,使我們能夠使用本節(jié)中的方法。 在下一章中懈糯,我們將介紹其中的一些技巧涤妒。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市赚哗,隨后出現(xiàn)的幾起案子她紫,更是在濱河造成了極大的恐慌,老刑警劉巖屿储,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贿讹,死亡現(xiàn)場離奇詭異,居然都是意外死亡够掠,警方通過查閱死者的電腦和手機(jī)民褂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人助赞,你說我怎么就攤上這事买羞。” “怎么了雹食?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵畜普,是天一觀的道長。 經(jīng)常有香客問我群叶,道長吃挑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任街立,我火速辦了婚禮舶衬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赎离。我一直安慰自己逛犹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布梁剔。 她就那樣靜靜地躺著虽画,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荣病。 梳的紋絲不亂的頭發(fā)上码撰,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音个盆,去河邊找鬼脖岛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛颊亮,可吹牛的內(nèi)容都是我干的柴梆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼终惑,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼轩性!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起狠鸳,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悯嗓,沒想到半個(gè)月后件舵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脯厨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年铅祸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡临梗,死狀恐怖涡扼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盟庞,我是刑警寧澤吃沪,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站什猖,受9級(jí)特大地震影響票彪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜不狮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一降铸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧摇零,春花似錦推掸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至雾家,卻和暖如春铃彰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芯咧。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工牙捉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人敬飒。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓邪铲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親无拗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子带到,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容