五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    樓主: pyy644
    2146 0

    [學(xué)科前沿] 使用python來(lái)繪制漂亮的圖表:Pandas篇! [推廣有獎(jiǎng)]

    • 0關(guān)注
    • 1粉絲

    講師

    85%

    還不是VIP/貴賓

    -

    威望
    0 級(jí)
    論壇幣
    6555 個(gè)
    通用積分
    272.6146
    學(xué)術(shù)水平
    7 點(diǎn)
    熱心指數(shù)
    9 點(diǎn)
    信用等級(jí)
    7 點(diǎn)
    經(jīng)驗(yàn)
    24686 點(diǎn)
    帖子
    479
    精華
    1
    在線時(shí)間
    314 小時(shí)
    注冊(cè)時(shí)間
    2020-5-6
    最后登錄
    2021-3-31

    樓主
    pyy644 發(fā)表于 2020-5-21 14:02:00 |只看作者 |壇友微信交流群|倒序 |AI寫論文

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個(gè)全額獎(jiǎng)學(xué)金名額~ !

    感謝您參與論壇問(wèn)題回答

    經(jīng)管之家送您兩個(gè)論壇幣!

    +2 論壇幣

    使用Python繪制數(shù)據(jù),可以使用三種不同方式,它們分別是Pandas,Seaborn和Plotly。 我們將通過(guò)利用《 2019年世界幸福報(bào)告》中的數(shù)據(jù)來(lái)做到這一點(diǎn)。我用Gapminder和Wikipedia的信息豐富了《世界幸福報(bào)告》數(shù)據(jù),以便探索新的關(guān)系和可視化。在整篇文章中,我將使用Life Ladder作為目標(biāo)變量。

    我使用Python繪圖的歷史
    大約兩年前,我開始更認(rèn)真地學(xué)習(xí)Python。 從那以后,幾乎沒(méi)有一個(gè)星期不讓我驚嘆于Python本身,或生態(tài)系統(tǒng)中眾多令人驚嘆的開源庫(kù)的簡(jiǎn)單性和易用性。 我熟悉的命令,模式和概念越多,那么所有事情就越有意義。
    Matplotlib
    使用Python進(jìn)行繪圖的情況恰恰相反。 最初,我用Matplotlib創(chuàng)建的幾乎每個(gè)圖表都看起來(lái)像是八十年代逃脫的罪犯。 更糟糕的是,要?jiǎng)?chuàng)建這些可憎的東西,我通常不得不在Stackoverflow上花費(fèi)數(shù)小時(shí)。 例如,研究nitty-gritty命令以更改x-ticks的傾斜度或類似的愚蠢行為。 甚至沒(méi)有讓我開始使用多張圖表。 結(jié)果看起來(lái)令人印象深刻,并且以編程方式創(chuàng)建這些圖表是一種奇妙的感覺(jué)。 例如,一次生成50個(gè)針對(duì)不同變量的圖表。 但是,這只是很多工作,需要您記住很多其他本來(lái)沒(méi)用的命令。
    Seaborn
    了解Seaborn是一種解脫。 Seaborn提取了許多微調(diào)。 毫無(wú)疑問(wèn),最終圖表的美學(xué)意義是一個(gè)巨大的飛躍。 但是,它也是基于Matplotlib構(gòu)建的。 通常,對(duì)于非標(biāo)準(zhǔn)調(diào)整,仍然有必要深入了解機(jī)器級(jí)的matplotlib代碼。
    Bokeh
    簡(jiǎn)要了解一下Bokeh,我以為Bokeh將成為我的首選解決方案。 當(dāng)我從事地理空間可視化工作時(shí)遇到了Bokeh。 但是,我很快意識(shí)到,雖然Bokeh與眾不同,但它與matplotlib一樣復(fù)雜。
    Plotly
    我確實(shí)在一段時(shí)間前嘗試了plot.ly(從現(xiàn)在開始被稱為plotly)。 再一次,致力于地理空間數(shù)據(jù)的可視化。 那時(shí),它似乎比前面提到的庫(kù)還要不靠譜。需要一個(gè)帳戶,必須通過(guò)筆記本電腦登錄,然后才能使所有內(nèi)容在線呈現(xiàn)。 然后,還需要下載結(jié)果圖表。 我迅速放棄了。 但是,最近,我看了一個(gè)有關(guān)YouTube的視頻,該視頻關(guān)于plotly express和plotly 4.0,最重要的是,他們擺脫了所有這些在線限制。 我玩了一下,這篇文章就是它的結(jié)果。 我想遲到總比沒(méi)有好。
    Kepler.gl(地理空間數(shù)據(jù)榮譽(yù)獎(jiǎng))
    Kepler.gl雖然絕對(duì)不是Python庫(kù),但它是一種用于地理空間數(shù)據(jù)的基于Web的強(qiáng)大可視化工具。 您只需要CSV文件,即可使用Python輕松創(chuàng)建。 試試看!
    我目前的工作流程
    最終,我決定使用Pandas原始繪圖進(jìn)行快速檢查,并使用Seaborn生成要在報(bào)告和演示文稿中使用的圖表(視覺(jué)效果很重要)。

    分布的重要性在圣地亞哥學(xué)習(xí)期間,我教過(guò)統(tǒng)計(jì)學(xué)(Stats 119)。 統(tǒng)計(jì)119是統(tǒng)計(jì)的入門課程。 該課程包括統(tǒng)計(jì)基礎(chǔ),例如數(shù)據(jù)匯總(可視和定量),幾率和概率的概念,回歸,抽樣以及最重要的分布。 這次是我對(duì)數(shù)量和現(xiàn)象的理解幾乎全部轉(zhuǎn)變?yōu)榛诜植急硎荆ù蟛糠謺r(shí)間是高斯)。
    時(shí)至今日,我發(fā)現(xiàn)這兩個(gè)數(shù)量的平均含義令人吃驚,而標(biāo)準(zhǔn)偏差可以幫助您把握現(xiàn)象。 僅通過(guò)了解這兩個(gè)數(shù)字,就可以輕松得出特定結(jié)果的可能性。 人們立即知道大部分結(jié)果將在哪里。 它為您提供了一個(gè)參考框架,可以快速將軼事與有統(tǒng)計(jì)意義的事件區(qū)分開來(lái),而無(wú)需進(jìn)行過(guò)于復(fù)雜的計(jì)算。
    一般而言,面對(duì)新數(shù)據(jù)時(shí),我的第一步是嘗試可視化其分布,以更好地理解數(shù)據(jù)。

    加載數(shù)據(jù)和導(dǎo)入庫(kù)讓我們加載本文中將要使用的數(shù)據(jù)。 我確實(shí)對(duì)數(shù)據(jù)進(jìn)行了一些預(yù)處理。 我在有意義的地方進(jìn)行數(shù)據(jù)填充處理。
    # Load the data data = pd.read_csv('https://raw.githubusercontent.com/FBosler/AdvancedPlotting/master/combined_set.csv') # this assigns labels per year data['Mean Log GDP per capita'] = data.groupby('Year')['Log GDP per capita'].transform( pd.qcut, q=5, labels=(['Lowest','Low','Medium','High','Highest']) )數(shù)據(jù)集包含以下各列的值:
    · Year 年:計(jì)量年(從2007年到2018年)
    · Life Ladder 人生階梯:受訪者根據(jù)Cantril階梯,以0到10的等級(jí)(10最佳)衡量他們今天的生活價(jià)值
    · Log GDP per capita 對(duì)數(shù)人均GDP:根據(jù)購(gòu)買力平價(jià)(PPP)調(diào)整的人均GDP,根據(jù)世界銀行于2018年11月14日發(fā)布的世界發(fā)展指標(biāo)(WDI)得出
    · Social support 社會(huì)支持:對(duì)問(wèn)題的回答:“如果遇到麻煩,您是否有親戚或朋友可以在需要時(shí)幫助您?”
    · Healthy life expectancy at birth 出生時(shí)的健康預(yù)期壽命:出生時(shí)的預(yù)期壽命是根據(jù)世界衛(wèi)生組織(WHO)全球衛(wèi)生觀察站數(shù)據(jù)存儲(chǔ)庫(kù)中的數(shù)據(jù)構(gòu)建的,其中提供了2005、2010、2015和2016年的數(shù)據(jù)。
    · Freedom to make life choices 選擇生活的自由度:對(duì)問(wèn)題的回答:“您對(duì)選擇自己的生活的自由感到滿意還是不滿意?”
    · Generosity 慷慨度:與"人均GDP"相比,對(duì)"您在過(guò)去一個(gè)月向慈善機(jī)構(gòu)捐款了嗎?"的回應(yīng)
    · Perceptions of corruption 對(duì)腐敗的看法:回答"腐敗是否在整個(gè)政府范圍內(nèi)廣泛存在?“和"腐敗是否在企業(yè)內(nèi)部廣泛分布?”
    · Positive affect 積極影響:包括前一天的幸福,笑聲和享受的平均頻率。
    · Negative affect 負(fù)面影響:包括前一天擔(dān)憂,悲傷和憤怒的平均頻率。
    · Confidence in national government 對(duì)國(guó)家政府的信心:不言自明
    · Democratic Quality 民主素質(zhì):一個(gè)國(guó)家的民主程度
    · Delivery Quality 交付質(zhì)量:一個(gè)國(guó)家兌現(xiàn)其政策的效果如何
    · Gapminder Life Expectancy Gapminder預(yù)期壽命:Gapminder的預(yù)期壽命
    · Gapminder Population Gapminder人口:一個(gè)國(guó)家的人口

    快速:使用Pandas進(jìn)行基本繪圖
    Pandas具有內(nèi)置的繪圖功能,可以在Series或DataFrame上調(diào)用它。 我喜歡這些繪圖功能,因?yàn)樗鼈兒?jiǎn)潔,使用合理的默認(rèn)值,并且可以快速了解發(fā)生的情況。
    要?jiǎng)?chuàng)建繪圖,請(qǐng)對(duì)數(shù)據(jù)調(diào)用.plot(kind = ),如下所示:
    np.exp(data[data['Year']==2018]['Log GDP per capita']).plot( kind='hist' )運(yùn)行上面的命令將產(chǎn)生以下圖表。

    2018: Histogram of the number of countries per GDP per Capita bucket. Not surprisingly, most countri
    使用Pandas進(jìn)行繪圖時(shí),有五個(gè)主要參數(shù):
    · kind:Pandas必須知道您要?jiǎng)?chuàng)建哪種圖,以下選項(xiàng)可用hist,bar,barh,scatter,area,kde,line,box,hexbin,餅圖。
    · figsize:允許覆蓋6英寸寬和4英寸高的默認(rèn)輸出大小。 figsize需要一個(gè)元組(例如,我經(jīng)常使用的figsize =(12,8))
    · title:向圖表添加標(biāo)題。 在大多數(shù)情況下,我用它來(lái)澄清圖表中顯示的內(nèi)容,以便當(dāng)我回到圖表上時(shí),可以快速確定發(fā)生了什么。 title需要一個(gè)字符串。
    · bins:允許覆蓋直方圖的bin寬度。 bins需要一個(gè)列表或類似列表的值序列(例如bins = np.arange(2,8,0.25))
    · xlim / ylim:允許覆蓋軸的最大值和最小值的默認(rèn)值。 xlim和ylim都期望有一個(gè)元組(例如xlim =(0,5))
    讓我們快速瀏覽各種可用的plots類型。
    垂直條形圖data[ data['Year'] == 2018 ].set_index('Country name')['Life Ladder'].nlargest(15).plot( kind='bar', figsize=(12,8) )
    2018: List of 15 happiest countries is led by Finnland
    水平條形圖np.exp(data[ data['Year'] == 2018 ].groupby('Continent')['Log GDP per capita'].mean()).sort_values().plot( kind='barh', figsize=(12,8) )!

    Average GDP per capita by continent in 2011 USD Dollars clearly led by Australia and New Zealand
    箱形圖data['Life Ladder'].plot( kind='box', figsize=(12,8) )
    Box plot of the distribution of Life Ladder shows that the median is somewhere around 5.5 ranging fr
    散點(diǎn)圖data[['Healthy life expectancy at birth','Gapminder Life Expectancy']].plot( kind='scatter', x='Healthy life expectancy at birth', y='Gapminder Life Expectancy', figsize=(12,8) )
    Scatter plot of the World Happiness Report life expectation against the Gapminder life expectation s
    六邊形圖data[data['Year'] == 2018].plot( kind='hexbin',   x='Healthy life expectancy at birth',   y='Generosity',   C='Life Ladder',   gridsize=20,   figsize=(12,8),    cmap="Blues", # defaults to greenish   sharex=False # required to get rid of a bug )
    2018: Hexbin plot, plotting life expectancy against generosity. The color of bins indicates the aver
    餅圖data[data['Year'] == 2018]  .groupby( ['Continent'])['Gapminder Population']   .sum()   .plot(     kind='pie',     figsize=(12,8),     cmap="Blues_r", # defaults to orangish   )
    2018: Pie chart showing the total population by continent
    堆積面積圖data.groupby( ['Year','Continent'])['Gapminder Population'] .sum() .unstack() .plot(     kind='area',     figsize=(12,8),     cmap="Blues", # defaults to orangish )
    Population numbers accross the globe are on the rise.
    折線圖data[ data['Country name'] == 'Germany'] .set_index('Year')['Life Ladder'] .plot( kind='line', figsize=(12,8) )
    Line chart depicting the development of happiness in Germany.
    關(guān)于Pandas繪圖的結(jié)論用Pandas繪圖很方便。 它易于訪問(wèn),而且速度很快。 Plot很難看。 偏離默認(rèn)值是不可能的,這是可以的,因?yàn)槲覀冞有其他工具可以使圖表更具美學(xué)吸引力。 去看看seaborn吧。

    本文翻譯自Fabian Bosler的文章《Learn how to create beautiful and insightful charts with Python — the Quick, the Pretty, and the Awesome》 參考https://towardsdatascience.com/plotting-with-python-c2561b8c0f1f)


    二維碼

    掃碼加我 拉你入群

    請(qǐng)注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:pandas python panda Das distribution

    已有 1 人評(píng)分經(jīng)驗(yàn) 收起 理由
    cheetahfly + 100 精彩帖子

    總評(píng)分: 經(jīng)驗(yàn) + 100   查看全部評(píng)分

    本版微信群
    加好友,備注cda
    拉您進(jìn)交流群

    京ICP備16021002-2號(hào) 京B2-20170662號(hào) 京公網(wǎng)安備 11010802022788號(hào) 論壇法律顧問(wèn):王進(jìn)律師 知識(shí)產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2025-1-1 13:40