>  기사  >  백엔드 개발  >  아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

PHPz
PHPz앞으로
2023-04-15 09:28:02891검색

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

알테어를 사용하면 데이터와 그 의미에 더 많은 시간을 집중할 수 있습니다. 이에 대해서는 아래에서 자세히 설명하겠습니다.

다음은 JupyterLab에서 알테어를 사용하여 데이터 세트를 빠르게 시각화하고 표시하는 예입니다.

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',
)

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

Vega-Lite Altair의 독특한 기능 중 하나는 시각적일 뿐만 아니라 대화형인 선언적 구문입니다. 위의 예를 일부 수정하면 산점도 선택에 따라 필터링되는 연결된 히스토그램을 만들 수 있습니다.

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

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

설치 방법

Altair에는 다음 종속성이 필요합니다.

  • pandas
  • traitlets
  • IPython

저장소를 복제한 경우 저장소 루트에서 다음 명령을 실행하세요.

pip install -e .[dev]

저장소를 복제하지 않으려면 다음 명령을 사용하여 설치할 수 있습니다.

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

자세한 내용은 github 링크를 참조하세요.

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

세 가지 주요 작업

다음에는 알테어가 탐색적 데이터 분석 프로세스의 일부로 사용할 수 있는 그룹화 및 병합 작업을 위한 필터, 시각적 객체를 생성하는 방법을 자세히 소개합니다.

우리는 시뮬레이션된 데이터로 두 개의 데이터 프레임을 구성합니다. 첫 번째는 레스토랑 주문이고, 두 번째는 레스토랑 주문에 포함된 품목의 가격입니다.

# 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

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

먼저 알테어 구문 구조에 대한 간단한 다이어그램을 만듭니다.

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

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

4단계로 구성된 Altair 기본 구문:

  • 데이터를 Chart 개체에 전달합니다. 이 개체는 Pandas 데이터 프레임 또는 json 또는 csv 파일을 가리키는 URL 문자열 형식일 수 있습니다.
  • 시각화 유형(예: mark_circle, mark_line 등)을 선택하세요.
  • encode 인코딩 함수는 주어진 데이터 프레임에 무엇을 그릴지 지정합니다. 따라서 인코딩 함수에 작성하는 모든 항목은 데이터프레임에 연결되어야 합니다.
  • 그래프의 특정 속성을 지정하려면 속성 함수를 사용하세요.

서로 다른 데이터 프레임에 있는 pirce 값과 팁 값의 산점도를 생성해야 하는 상황을 생각해 보세요. 한 가지 옵션은 두 데이터프레임을 병합하고 이 두 열을 분산형 차트에 사용하는 것입니다.

Altair는 Pandas의 병합 기능과 유사하게 다른 데이터 프레임에서 열을 찾을 수 있는 보다 실용적인 방법을 제공합니다.

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"
)

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

Transform_lookup 기능은 Pandas의 병합 기능과 유사합니다. 관측치를 일치시키는 데 사용되는 열(즉, 행)은 조회 매개변수에 전달됩니다. fields 매개변수는 다른 데이터프레임에서 필요한 열을 선택하는 데 사용됩니다.

또한 필터 구성 요소를 플롯에 통합하여 $10 이상의 가격으로 데이터 포인트를 플롯할 수 있습니다.

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"
)

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

필터링에는 변환 필터 기능이 사용됩니다. FieldGTPredicate는 "보다 큼" 조건을 처리합니다.

알테어는 필터링 및 병합 외에도 데이터 포인트를 플롯하기 전에 그룹화할 수 있습니다. 예를 들어, 각 주문 유형에 대한 품목의 평균 가격을 표시하는 막대 차트를 만들 수 있습니다. 또한 가격이 20달러 미만인 품목에 대해서도 이 작업을 수행할 수 있습니다.

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
)

아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!

각 단계를 자세히 설명하겠습니다.

  • Transform_lookup: 가격 데이터 프레임에서 가격을 찾습니다.
  • 변환_필터: $20 미만의 가격을 필터링합니다.
  • Transform_aggregate: 주문 유형별로 가격을 그룹화하고 평균을 계산합니다.

결론

알테어와 다른 일반적인 시각화 라이브러리의 차이점은 데이터 분석 구성 요소를 시각화에 원활하게 통합할 수 있어 매우 실용적인 데이터 탐색 도구가 된다는 것입니다.

탐색적 데이터 분석 프로세스에서는 필터링, 병합 및 그룹화가 중요합니다. 알테어를 사용하면 데이터 시각화를 생성할 때 이러한 모든 작업을 수행할 수 있습니다. 이런 의미에서 알테어는 데이터 분석 도구로도 간주될 수 있습니다. 관심이 있으시다면 지금 바로 사용해 보세요.

위 내용은 아주 멋진! 이 Python 데이터 시각화 도구는 강력합니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제