成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

妙啊!這款 Python 數(shù)據(jù)可視化工具強(qiáng)的很!

開發(fā) 后端 數(shù)據(jù)可視化
Altair 是 Python 的一個非常棒的統(tǒng)計可視化庫。它非常簡單、友好,并基于強(qiáng)大的Vega-Lite JSON規(guī)范構(gòu)建,我們只需要簡短的代碼即可生成美觀、有效的可視化效果。

使用 Altair ,你可以將更多時間專注于數(shù)據(jù)及其含義,下面我將詳細(xì)介紹:

示例

這是一個在 JupyterLab 中使用 Altair 快速可視化和顯示數(shù)據(jù)集的示例:

import altair as alt
# load a simple dataset as a pandas DataFrame
from vega_datasets import data
cars = data.cars()
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
)

源自 Vega-Lite 的 Altair 的獨(dú)特功能之一是聲明性語法,它不僅具有可視化功能,還具有交互性。通過對上面的示例進(jìn)行一些修改,我們可以創(chuàng)建一個鏈接的直方圖,該直方圖根據(jù)散點(diǎn)圖的選擇進(jìn)行過濾。

import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color=alt.condition(brush, 'Origin', alt.value('lightgray'))
).add_selection(
brush
)
bars = alt.Chart(source).mark_bar().encode(
y='Origin',
color='Origin',
x='count(Origin)'
).transform_filter(
brush
)
points & bars

安裝方法

Altair需要以下依賴項:

  • pandas
  •  traitlets
  • IPython

如果已克隆存儲庫,請從存儲庫的根目錄運(yùn)行以下命令:

pip install -e .[dev]

如果你不想克隆存儲庫,則可以使用以下命令進(jìn)行安裝:

pip install git+https://github.com/altair-viz/altair

更多內(nèi)容詳情,可以查看github鏈接:

https://github.com/altair-viz/altair

三大操作

接下來,我將詳細(xì)地介紹 Altair 如何創(chuàng)建過濾、分組和合并操作的可視化對象,可以將其用作探索性數(shù)據(jù)分析過程的一部分。

我們構(gòu)建兩個數(shù)據(jù)幀的模擬數(shù)據(jù)。第一個是餐廳訂單,第二個是餐廳訂單中的商品價格。

# import libraries
import numpy as np
import pandas as pd
import altair as alt
import random
# mock data
orders = pd.DataFrame({
"order_id": np.arange(1,101),
"item": np.random.randint(1, 50, size=100),
"qty": np.random.randint(1, 10, size=100),
"tip": (np.random.random(100) * 10).round(2)
})
prices = pd.DataFrame({
"item": np.arange(1,51),
"price": (np.random.random(50) * 50).round(2)
})
order_type = ["lunch", "dinner"] * 50
random.shuffle(order_type)
orders["order_type"] = order_type

首先,我們創(chuàng)建一個簡單的圖來 Altair 語法結(jié)構(gòu)。

alt.Chart(orders).mark_circle(size=50).encode(
x="qty", y="tip", color="order_type"
).properties(
title = "Tip vs Quantity"
)

Altair 基本語法四步曲:

  • 將數(shù)據(jù)傳遞到 Chart 對象,數(shù)據(jù)可以采用Pandas數(shù)據(jù)框或指向json或csv文件的URL字符串的形式。
  • 選擇可視化的類型(例如 mark_circle,mark_line 等)。
  • encode 編碼函數(shù)指定在給定數(shù)據(jù)幀中要繪制的內(nèi)容。因此,我們在編碼函數(shù)中編寫的任何內(nèi)容都必須鏈接到數(shù)據(jù)幀。
  • 使用properties函數(shù)指定圖的某些屬性。

考慮這樣一種情況,我們需要創(chuàng)建 pirce 和 tip 值的散點(diǎn)圖,它們位于不同的數(shù)據(jù)幀中。一種選擇是合并兩個數(shù)據(jù)幀,并在散點(diǎn)圖中使用這兩列。

Altair提供了一種更實(shí)用的方法,它允許在其他數(shù)據(jù)框中查找列, 類似 Pandas 的 merge 函數(shù)功能相同。

alt.Chart(orders).mark_circle(size=50).encode(
x="tip", y="price:Q", color="order_type"
).transform_lookup(
lookup="item",
from_=alt.LookupData(data=prices, key="item", fields=["price"])
).properties(
title = "Price vs Tip"
)

transform_lookup 函數(shù)類似于 Pandas 的 merge 函數(shù)。用于匹配觀察值的列(即行)將傳遞給lookup參數(shù)。fields參數(shù)用于從另一個數(shù)據(jù)幀中選擇所需的列。

我們還可以把過濾組件集成到繪圖中,讓我們繪制價格超過10美元的數(shù)據(jù)點(diǎn)。

alt.Chart(orders).mark_circle(size=50).encode(
x="tip", y="price:Q", color="order_type"
).transform_lookup(
lookup="item",
from_=alt.LookupData(data=prices, key="item", fields=["price"])
).transform_filter(
alt.FieldGTPredicate(field='price', gt=10)
).properties(
title = "Price vs Tip"
)

transform_filter 函數(shù)用于過濾。FieldGTPredicate處理"大于"的條件。

除了過濾和合并外,Altair 還允許在繪圖之前對數(shù)據(jù)點(diǎn)進(jìn)行分組。例如,我們可以創(chuàng)建一個條形圖來顯示每種訂單類型的商品平均價格。此外,我們可以對價格低于20美元的商品執(zhí)行此操作。

alt.Chart(orders).mark_bar().encode(
y="order_type", x="avg_price:Q"
).transform_lookup(
lookup="item",
from_=alt.LookupData(data=prices, key="item", fields=["price"])
).transform_filter(
alt.FieldLTPredicate(field='price', lt=20)
).transform_aggregate(
avg_price = "mean(price)", groupby = ["order_type"]
).properties(
height=200, width=300
)

讓我們詳細(xì)說明每個步驟:

  • transform_lookup:從價格數(shù)據(jù)框中查找價格。
  • transform_filter:過濾價格低于20美元的價格。
  • transform_aggregate:按訂單類型對價格進(jìn)行分組并計算均值。

結(jié)論

Altair 與其他常見的可視化庫的不同之處在于,它可以無縫地將數(shù)據(jù)分析組件集成到可視化中,是一款非常實(shí)用的數(shù)據(jù)探索工具。

篩選、合并和分組對于探索性數(shù)據(jù)分析過程至關(guān)重要。Altair 允許在創(chuàng)建數(shù)據(jù)可視化時執(zhí)行所有這些操作。從這個意義上講,Altair也可以視為數(shù)據(jù)分析工具。如果你感興趣,趕快嘗試一下吧。

責(zé)任編輯:龐桂玉 來源: 簡說Python
相關(guān)推薦

2020-07-16 15:10:46

工具可視化Python

2022-05-07 09:02:27

數(shù)據(jù)可視化工具庫

2022-11-15 15:14:05

2017-07-04 16:00:16

PythonMatplotlib可視化工具

2017-07-27 09:49:37

Python工具Matplotlib

2015-12-02 09:44:04

Python視化工具

2019-12-23 14:17:46

數(shù)據(jù)可視化工具

2019-09-27 09:12:18

開源數(shù)據(jù)可視化大數(shù)據(jù)

2019-10-14 15:51:40

可視化技術(shù)微軟數(shù)據(jù)庫

2017-07-25 13:42:00

大數(shù)據(jù)可視化工具

2017-07-03 16:44:10

數(shù)據(jù)庫MongoDBNoSQL

2021-03-30 10:10:37

PyTorch可視化工具命令

2018-09-28 17:16:18

數(shù)據(jù)可視化工具發(fā)展趨勢

2021-06-11 17:45:57

大數(shù)據(jù)可視化工具

2019-06-23 15:44:24

Matplotlib可視化圖表

2018-05-31 08:25:13

誤區(qū)工具可視化

2023-03-06 08:03:10

Python可視化工具

2021-04-11 09:51:25

Redis可視化工具

2022-10-21 15:47:59

測試工具鴻蒙

2021-03-18 09:07:13

日志可視化工具Devops
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩av网址在线观看 | 动漫www.被爆羞羞av44 | 欧美一区二区三区在线 | 欧美日韩一卡二卡 | 日韩av免费看 | 亚洲精品视频免费 | 久久久久免费精品国产小说色大师 | 久久久区 | 日韩成人影院 | 欧美白人做受xxxx视频 | 久久久久久久国产精品视频 | 欧美日韩综合精品 | 午夜影院在线免费观看视频 | 一区二区在线 | 亚州毛片| 久久精品综合 | 欧美激情欧美激情在线五月 | 成人国产精品一级毛片视频毛片 | 亚洲视频网 | 午夜羞羞 | 日韩一二区 | 亚洲国产精品一区二区三区 | h视频在线播放 | www.干| 美女黄色在线观看 | 天天天操操操 | xx性欧美肥妇精品久久久久久 | 伊人精品国产 | 国产日韩欧美在线观看 | 日本一区二区三区四区 | 欧美日韩在线视频观看 | 日屁网站 | 欧美在线视频一区 | 国产最好的av国产大片 | 特黄av| 国产小视频在线观看 | 天天综合久久 | 女生羞羞视频 | 亚洲一区亚洲二区 | 亚洲欧洲一区二区 | 狠狠做深爱婷婷综合一区 |