>  기사  >  백엔드 개발  >  통계 데이터 시각화를 위해 seaborn을 사용하는 방법

통계 데이터 시각화를 위해 seaborn을 사용하는 방법

WBOY
WBOY원래의
2023-08-03 10:52:511146검색

통계 데이터 시각화를 위해 Seaborn을 사용하는 방법

소개:
통계 데이터 시각화는 데이터 분석에서 매우 중요한 부분이며 데이터를 더 잘 이해하고 데이터에 숨겨진 패턴을 발견하는 데 도움이 됩니다. Seaborn은 Matplotlib을 기반으로 한 Python 데이터 시각화 라이브러리로, 데이터 시각화 프로세스를 더욱 간결하고 아름답게 만들기 위한 몇 가지 고급 통계 그리기 기능을 제공합니다.

이 글에서는 통계 데이터 시각화를 위해 Seaborn을 사용하는 방법을 소개하고 샘플 코드를 통해 사용법을 보여줍니다.

1. Seaborn 라이브러리 설치
시작하기 전에 먼저 Seaborn 라이브러리를 설치해야 합니다. pip 명령을 통해 설치할 수 있습니다:

pip install seaborn

2. Seaborn 라이브러리 및 기타 필요한 라이브러리를 가져옵니다.
설치가 완료된 후 Seaborn 라이브러리 및 기타 필요한 라이브러리를 코드로 가져와야 합니다. 일반적으로 데이터 처리를 위해 NumPy 및 Pandas 라이브러리를 가져오고 사용자 정의 플로팅을 위해 Matplotlib 라이브러리도 가져옵니다.

import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

3. 샘플 데이터 세트 로드
Seaborn 라이브러리는 다양한 그리기 기능을 보여주기 위해 몇 가지 샘플 데이터 세트를 제공합니다. 이 기사에서는 Seaborn과 함께 제공되는 "팁" 데이터 세트를 사용합니다. 다음 코드를 사용하여 이 데이터 세트를 로드할 수 있습니다.

tips = sns.load_dataset("tips")

팁 데이터 세트는 소비량, 소비 시간, 성별, 흡연 상태 및 기타 정보를 포함한 레스토랑 소비에 대한 데이터 세트입니다.

4. 통계 차트 그리기
다음으로 통계 차트 그리기를 시작해 보겠습니다. Seaborn 라이브러리는 1차원 및 2차원 이산 및 연속 데이터 표시를 포함하여 다양한 플로팅 기능을 제공합니다.

  1. 히스토그램 그리기
    히스토그램은 1차원 데이터의 분포를 표시하는 데 사용할 수 있습니다. Seaborn의 distplot() 함수는 히스토그램과 커널 밀도 추정 플롯을 동시에 그릴 수 있습니다. distplot()函数可以同时绘制直方图和核密度估计图。
sns.distplot(tips['total_bill'], bins=10, kde=True)
plt.show()

通过上述代码,我们可以绘制餐厅消费总金额的直方图。其中,total_bill是Tips数据集中的一个字段,bins参数指定了直方图的柱子数量,kde参数可以控制是否绘制核密度估计图。

  1. 绘制散点图
    散点图可以用来展示两个连续变量之间的关系。Seaborn中的scatterplot()函数可以绘制散点图。
sns.scatterplot(x='total_bill', y='tip', data=tips)
plt.show()

通过上述代码,我们可以绘制餐厅消费总金额与小费之间的散点图。其中,x参数指定了x轴上的变量,y参数指定了y轴上的变量,data参数指定了要使用的数据集。

  1. 绘制柱状图
    柱状图可以用来展示离散变量的频率分布情况。Seaborn中的countplot()函数可以绘制柱状图。
sns.countplot(x='day', data=tips)
plt.show()

通过上述代码,我们可以绘制不同天的消费次数的柱状图。其中,x参数指定了x轴上的变量,data参数指定了要使用的数据集。

  1. 绘制盒图
    盒图可以用来展示一组数据的概要统计信息,包括中位数、四分位数、异常值等。Seaborn中的boxplot()函数可以绘制盒图。
sns.boxplot(x='day', y='total_bill', hue='smoker', data=tips)
plt.show()

通过上述代码,我们可以绘制不同天的消费金额的盒图,并根据抽烟情况进行了分类。其中,x参数指定了x轴上的变量,y参数指定了y轴上的变量,hue参数指定了用于分类的变量,data参数指定了要使用的数据集。

五、定制图表风格
Seaborn库还提供了很多定制图表风格的函数,可以帮助我们创建更具美感的图表。

  1. 设置图表风格
    Seaborn库提供了多种内置的图表风格,可以在绘图之前使用set_style()函数进行设置。
sns.set_style("ticks")

通过上述代码,我们可以将图表风格设置为"ticks"。

  1. 调整调色板
    Seaborn库提供了多种预设的调色板,可以使用set_palette()
  2. sns.set_palette("husl", 4)
위의 코드를 사용하면 레스토랑에서 지출한 총 금액에 대한 히스토그램을 그릴 수 있습니다. 그 중 total_bill은 Tips 데이터 세트의 필드이고 bins 매개변수는 히스토그램의 bin 수를 지정하며 kde 매개변수는 커널 밀도 추정 다이어그램을 그릴지 여부를 제어할 수 있습니다.

    산점도 그리기

    산점도는 두 연속 변수 간의 관계를 표시하는 데 사용할 수 있습니다. Seaborn의 scatterplot() 함수는 산점도를 그릴 수 있습니다.

    rrreee

    위 코드를 사용하면 레스토랑에서 지출한 총액과 팁 사이에 산점도를 그릴 수 있습니다. 그 중 x 매개변수는 x축 변수를 지정하고, y 매개변수는 y축 변수를 지정하며, data 매개변수는 사용할 변수를 지정합니다.

      🎜히스토그램 그리기🎜히스토그램을 사용하여 이산형 변수의 빈도 분포를 표시할 수 있습니다. Seaborn의 countplot() 함수는 히스토그램을 그릴 수 있습니다. 🎜🎜rrreee🎜위의 코드를 사용하면 요일별 소비량에 대한 히스토그램을 그릴 수 있습니다. 그 중 x 매개변수는 x축의 변수를 지정하고, data 매개변수는 사용할 데이터 세트를 지정합니다. 🎜
        🎜상자 도표 그리기🎜상자 도표는 중앙값, 사분위수, 이상값 등을 포함한 데이터 세트의 요약 통계를 표시하는 데 사용할 수 있습니다. Seaborn의 boxplot() 함수는 상자 그림을 그릴 수 있습니다. 🎜🎜rrreee🎜위의 코드를 사용하면 다양한 날짜의 소비량에 대한 상자 그림을 그려 흡연 상태에 따라 분류할 수 있습니다. 그 중 x 매개변수는 x축 변수를 지정하고, y 매개변수는 y축 변수를 지정하며, hue 매개변수는 분류에 사용되는 변수를 지정하고, data 매개변수는 사용할 데이터 세트를 지정합니다. 🎜🎜5. 사용자 정의 차트 스타일🎜 Seaborn 라이브러리는 차트 스타일을 사용자 정의할 수 있는 다양한 기능도 제공하므로 더 아름다운 차트를 만드는 데 도움이 됩니다. 🎜🎜🎜차트 스타일 설정🎜 Seaborn 라이브러리는 그리기 전에 set_style() 함수를 사용하여 설정할 수 있는 다양한 내장 차트 스타일을 제공합니다. 🎜🎜rrreee🎜위 코드를 사용하면 차트 스타일을 "틱"으로 설정할 수 있습니다. 🎜
          🎜색상 팔레트 조정🎜 Seaborn 라이브러리는 set_palette() 함수를 사용하여 설정할 수 있는 다양한 사전 설정된 색상 팔레트를 제공합니다. 🎜🎜rrreee🎜위 코드를 사용하면 색상 팔레트를 "husl"로 설정하고 4가지 색상을 사용할 수 있습니다. 🎜🎜6. 요약🎜이 글에서는 통계 데이터 시각화를 위해 Seaborn을 사용하는 방법을 소개합니다. 먼저 Seaborn 라이브러리를 설치하고 필요한 라이브러리를 가져왔습니다. 그런 다음 샘플 데이터 세트가 로드되었습니다. 다음으로 히스토그램, 산점도, 막대 차트, 상자 그림 그리기를 통해 Seaborn의 그리기 기능을 시연합니다. 마지막으로 차트 스타일과 색상 팔레트를 설정하는 방법도 설명합니다. 🎜🎜Seaborn 라이브러리에서 제공하는 풍부한 그리기 기능과 사용자 정의 옵션을 통해 아름답고 유익한 통계 차트를 쉽게 만들 수 있으며 데이터 분석을 위한 더욱 강력한 도구와 지원을 제공합니다. 이 기사가 도움이 되기를 바랍니다! 🎜

위 내용은 통계 데이터 시각화를 위해 seaborn을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.