久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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

 禁忌石 2023-02-11 發(fā)布于浙江
文章圖片1

數(shù)據(jù)可視化是將數(shù)據(jù)轉(zhuǎn)換為視覺格式(例如圖表,、圖形,、地圖和信息圖)以有效傳達(dá)見解,、模式和趨勢的過程,。 它是數(shù)據(jù)分析的一個(gè)重要方面,,因?yàn)樗梢詭椭藗兛焖?、輕松地理解復(fù)雜的信息,。

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

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

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

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

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

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

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

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

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

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

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

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

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

Matplotlib

優(yōu)點(diǎn):

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

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

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

缺點(diǎn):

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

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

安裝:pip install matplotlib

繪制箱線圖:

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

輸出看起來很普通:

文章圖片2

Seaborn

優(yōu)點(diǎn):

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

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

缺點(diǎn):

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

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

安裝: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()

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

文章圖片3

Plotly

優(yōu)點(diǎn):

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

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

易于嵌入網(wǎng)頁

缺點(diǎn):

用于某些類型的可視化可能很復(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 輸出:

文章圖片4

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

Bokeh

優(yōu)點(diǎn):

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

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

缺點(diǎn):

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

某些可視化效果的渲染速度可能很慢,,尤其是對于大型數(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)

輸出將是:

文章圖片5

Altair

優(yōu)點(diǎn):

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

提供廣泛的可視化

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

缺點(diǎn):

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

某些可視化效果的渲染速度可能很慢,尤其是對于大型數(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()
文章圖片6

ggplot

優(yōu)點(diǎn):

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

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

缺點(diǎn):

用于某些類型的可視化可能很復(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)此錯(cuò)誤是因?yàn)閺?0.25.0 版開始,“tslib”模塊已從 pandas 中刪除,。

要解決此問題,,您可以:

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

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

Pygal

優(yōu)點(diǎn):

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

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

重量輕,,易于安裝

缺點(diǎn):

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

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

可能不適合更復(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 圖表:

文章圖片7

結(jié)論

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

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多