国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
在 Python 中可視化數(shù)據(jù):Python 頂級庫的深入比較

數(shù)據(jù)可視化是將數(shù)據(jù)轉(zhuǎn)換為視覺格式(例如圖表、圖形、地圖和信息圖)以有效傳達見解、模式和趨勢的過程。 它是數(shù)據(jù)分析的一個重要方面,因為它可以幫助人們快速、輕松地理解復(fù)雜的信息。

數(shù)據(jù)可視化的主要好處之一是它使用戶能夠識別數(shù)據(jù)中的趨勢和模式,這些趨勢和模式在以表格或數(shù)字形式查看時可能不會立即顯現(xiàn)出來。 例如,折線圖可以顯示數(shù)據(jù)集隨時間的變化,便于識別趨勢和模式,而條形圖可用于比較不同類別之間的數(shù)據(jù)。

數(shù)據(jù)可視化還使用戶能夠更有效地與他人交流他們的發(fā)現(xiàn)。 當(dāng)數(shù)據(jù)以一種有吸引力且易于理解的格式呈現(xiàn)時,它更有可能被記住并據(jù)以采取行動。 此外,可視化有助于闡明數(shù)據(jù)的含義并突出關(guān)鍵見解,使其他人更容易理解和使用信息。 根據(jù) Ben Shneiderman 教授的說法:

“可視化的目的是洞察力,而不是圖片?!?/span>

Python 中的數(shù)據(jù)可視化

Python 是一種流行的數(shù)據(jù)分析和數(shù)據(jù)可視化編程語言。 Python 中有幾個庫和工具可用于創(chuàng)建可視化,包括:

Matplotlib:這是 Python 中使用最廣泛的數(shù)據(jù)可視化庫,非常適合創(chuàng)建靜態(tài)、動畫和交互式可視化。

Seaborn:這個庫建立在 Matplotlib 之上,提供了一個高級接口來創(chuàng)建有吸引力的統(tǒng)計圖形。

Plotly:這個庫非常適合創(chuàng)建交互式和動態(tài)可視化。 它支持范圍廣泛的可視化,包括條形圖、折線圖、散點圖等。

Bokeh:這個庫專注于為網(wǎng)絡(luò)創(chuàng)建交互式可視化。 它提供了一個高級界面,用于創(chuàng)建可以輕松嵌入網(wǎng)頁的可視化效果。

Altair:這個庫是一個聲明式可視化庫,允許用戶以簡單、人類可讀的格式指定可視化。

ggplot:這個庫是流行的 R 庫 ggplot2 的 Python 實現(xiàn),并提供了一個高級接口來創(chuàng)建復(fù)雜且有吸引力的可視化。

Pygal:這個庫非常適合創(chuàng)建靜態(tài)的、基于 SVG 的可視化。 它支持范圍廣泛的可視化,包括條形圖、折線圖等。

在下一節(jié)中,我將比較每個庫并為每個庫繪制相同的箱線圖

Matplotlib

優(yōu)點:

廣泛使用且有據(jù)可查

高度可定制,允許廣泛的可視化

非常適合創(chuàng)建靜態(tài)、動畫和交互式可視化

缺點:

具有低級 API,需要更多代碼來創(chuàng)建簡單的可視化

如果不進行額外的定制,一些可視化效果可能會沒有吸引力

安裝:pip install matplotlib

繪制箱線圖:

import matplotlib.pyplot as pltimport numpy as npdata = np.random.normal(100, 20, 200)plt.boxplot(data)plt.show()

輸出看起來很普通:

Seaborn

優(yōu)點:

建立在 Matplotlib 之上,并提供用于創(chuàng)建有吸引力的統(tǒng)計圖形的高級接口

為廣泛的統(tǒng)計分析創(chuàng)建可視化提供內(nèi)置支持

缺點:

與 Matplotlib 相比,在定制方面仍然受到限制

如果不進行額外的定制,一些可視化效果仍然沒有吸引力

安裝:pip install seaborn

繪制箱線圖:

import seaborn as snsimport numpy as npimport matplotlib.pyplot as pltdata = np.random.normal(100, 20, 200)sns.boxplot(data)plt.show()

它在視覺上也不是那么吸引人:

Plotly

優(yōu)點:

非常適合創(chuàng)建交互式和動態(tài)可視化

提供范圍廣泛的可視化效果,包括條形圖、折線圖、散點圖等

易于嵌入網(wǎng)頁

缺點:

用于某些類型的可視化可能很復(fù)雜

某些可視化效果的渲染速度可能很慢,尤其是對于大型數(shù)據(jù)集

安裝: pip install plotly

繪制箱線圖:

import plotly.express as pximport pandas as pdimport numpy as npnp.random.seed(10)data = [np.random.normal(0, 1, 100), np.random.normal(2, 1, 100)]df = pd.DataFrame(data).transpose()df.columns = ['A', 'B']fig = px.box(df, y='A', points='all')fig.update_layout(title_text='Boxplot Example')fig.show()

有更多的數(shù)據(jù)注釋和小部件用于 plotly 輸出:

請注意,在 Plotly Express 中,您需要使用 px.box 函數(shù)以長格式傳遞數(shù)據(jù),而不是前面示例中使用的寬格式。 這允許 Plotly Express 正確處理數(shù)據(jù)而不會遇到任何錯誤。

Bokeh

優(yōu)點:

專注于為網(wǎng)絡(luò)創(chuàng)建交互式可視化

提供高級界面,用于創(chuàng)建可輕松嵌入網(wǎng)頁的可視化效果

缺點:

與其他庫相比,在定制方面可能會受到限制

某些可視化效果的渲染速度可能很慢,尤其是對于大型數(shù)據(jù)集

安裝:pip install bokeh

下面是參考 Bokeh 文檔繪制箱線圖的示例:

import pandas as pdfrom bokeh.models import ColumnDataSource, Whiskerfrom bokeh.plotting import figure, showfrom bokeh.sampledata.autompg2 import autompg2from bokeh.transform import factor_cmapdf = autompg2[['class', 'hwy']].rename(columns={'class': 'kind'})kinds = df.kind.unique()# compute quantilesqs = df.groupby('kind').hwy.quantile([0.25, 0.5, 0.75])qs = qs.unstack().reset_index()qs.columns = ['kind', 'q1', 'q2', 'q3']df = pd.merge(df, qs, on='kind', how='left')# compute IQR outlier boundsiqr = df.q3 - df.q1df['upper'] = df.q3 + 1.5*iqrdf['lower'] = df.q1 - 1.5*iqrsource = ColumnDataSource(df)p = figure(x_range=kinds, tools='', toolbar_location=None,           title='Highway MPG distribution by vehicle class',           background_fill_color='#eaefef', y_axis_label='MPG')# outlier rangewhisker = Whisker(base='kind', upper='upper', lower='lower', source=source)whisker.upper_head.size = whisker.lower_head.size = 20p.add_layout(whisker)# quantile boxescmap = factor_cmap('kind', 'TolRainbow7', kinds)p.vbar('kind', 0.7, 'q2', 'q3', source=source, color=cmap, line_color='black')p.vbar('kind', 0.7, 'q1', 'q2', source=source, color=cmap, line_color='black')# outliersoutliers = df[~df.hwy.between(df.lower, df.upper)]p.scatter('kind', 'hwy', source=outliers, size=6, color='black', alpha=0.3)p.xgrid.grid_line_color = Nonep.axis.major_label_text_font_size='14px'p.axis.axis_label_text_font_size='12px'show(p)

輸出將是:

Altair

優(yōu)點:

聲明式可視化庫,允許用戶以簡單、人類可讀的格式指定可視化

提供廣泛的可視化

易于使用以創(chuàng)建簡單的可視化

缺點:

與其他庫相比,在定制方面可能會受到限制

某些可視化效果的渲染速度可能很慢,尤其是對于大型數(shù)據(jù)集

安裝:pip install altair

繪制箱線圖:

import altair as altimport pandas as pdimport numpy as npdata = np.random.normal(100, 20, 200)df = pd.DataFrame(data, columns=['data'])alt.Chart(df).mark_boxplot().encode( y='data:Q').properties( width=400, height=300).interactive()

ggplot

優(yōu)點:

流行的 R 庫 ggplot2 的 Python 實現(xiàn)

提供用于創(chuàng)建復(fù)雜且有吸引力的可視化的高級界面

缺點:

用于某些類型的可視化可能很復(fù)雜

某些可視化效果的渲染速度可能很慢,尤其是對于大型數(shù)據(jù)集

安裝:pip install ggplot

繪制箱線圖:

import ggplotimport pandas as pdimport numpy as npdata = np.random.normal(100, 20, 200)df = pd.DataFrame(data, columns=['data'])p = ggplot(df, aes(x='data'))p = p + geom_boxplot()p.show()

請注意,ggplot 和 pandas 存在一些兼容性問題。 如果使用最新的 pandas,它會產(chǎn)生 AttributeError: module 'pandas’ has no attribute 'tslib’。

出現(xiàn)此錯誤是因為從 0.25.0 版開始,“tslib”模塊已從 pandas 中刪除。

要解決此問題,您可以:

降級到 0.25.0 之前的 pandas 版本,例如 0.24.2。

刪除代碼中對“tslib”的任何引用。

Pygal

優(yōu)點:

專注于創(chuàng)建簡單干凈的可視化

提供范圍廣泛的可視化效果,包括條形圖、折線圖、散點圖等

重量輕,易于安裝

缺點:

與其他庫相比,在定制方面可能會受到限制

如果不進行額外的定制,一些可視化效果可能會沒有吸引力

可能不適合更復(fù)雜的可視化

安裝:pip install pygal

不幸的是,Pygal 沒有對箱線圖的內(nèi)置支持。 在 Pygal 中創(chuàng)建條形圖的示例代碼:

import pygalbar_chart = pygal.Bar()bar_chart.title = 'Bar Chart Example'bar_chart.x_labels = ['Label 1', 'Label 2', 'Label 3']bar_chart.add('Series 1', [1, 2, 3])bar_chart.add('Series 2', [3, 2, 1])bar_chart.render_to_file('bar_chart.svg')

輸出將生成為 svg 圖表:

結(jié)論

每個圖書館都有自己的長處和短處。 例如,Matplotlib 是一個低級庫,需要更多代碼來創(chuàng)建可視化,但可高度自定義。 Seaborn 建立在 Matplotlib 之上,并提供了一個高級接口來創(chuàng)建有吸引力的統(tǒng)計圖形。 Plotly 非常適合創(chuàng)建交互式和動態(tài)可視化,而 Bokeh 專注于為網(wǎng)絡(luò)創(chuàng)建交互式可視化。 ggplot 是流行的 R 庫 ggplot2 的 Python 實現(xiàn),并提供用于創(chuàng)建復(fù)雜且有吸引力的可視化的高級接口。 Altair 是一個聲明式可視化庫,允許用戶以簡單、人類可讀的格式指定可視化。 工具的選擇將取決于項目的具體要求,例如所分析數(shù)據(jù)的類型、可視化的復(fù)雜性以及交互性的需要。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
這里有8個流行的Python可視化工具包,你喜歡哪個?
深度盤點 | 史上最全python數(shù)據(jù)可視化庫
10個對所有學(xué)科都有用的Python數(shù)據(jù)可視化庫
數(shù)據(jù)呈現(xiàn)丨22個!史上最全Python數(shù)據(jù)可視化庫大合集
10 個實用的 Python 數(shù)據(jù)可視化庫
這10個python數(shù)據(jù)可視化庫,通吃任何領(lǐng)域
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服