× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Python Seaborn - Nắm rõ cách sử dụng thư viện Seaborn của Python

07/07/2021 01:57

Python là một trong những ngôn ngữ lập trình có nhiều thư viện và framework vô cùng mạnh mẽ. Trong số đó, có Seaborn, là một thư viện trực quan hóa dữ liệu thống trị, là một lý do khác để các lập trình viên hoàn thành các dự án một cách hiệu quả. Trong hướng dẫn sử dụng Seaborn cho Python này, bạn sẽ nắm rõ trong lòng bàn tay các kiến thức về trực quan hóa dữ liệu bằng cách sử dụng Seaborn.

Tại sao sử dụng Python Seaborn?

Như đã đề cập trước đó, thư viện Python Seaborn được sử dụng để giảm bớt nhiệm vụ trực quan hóa dữ liệu đầy thách thức và nó dựa trên Matplotlib. Seaborn cho phép tạo đồ họa thống kê thông qua các chức năng sau:

Tại sao sử dụng Python Seaborn?

  • Một API dựa trên tập dữ liệu cho phép so sánh giữa nhiều biến
  • Hỗ trợ lưới nhiều ô để dễ dàng xây dựng các hình ảnh trực quan phức tạp
  • Hình ảnh hóa đơn biến và lưỡng biến có sẵn để so sánh giữa các tập hợp con dữ liệu
  • Có sẵn các bảng màu khác nhau để hiển thị các loại mẫu khác nhau
  • Dự toán và âm mưu tuyến tính hồi quy tự động

Vì vậy, nếu bạn đang tự hỏi tại sao sử dụng Seaborn khi bạn đã có Matplotlib, thì đây là câu trả lời cho nó.

So sánh Python Seaborn vs Matplotlib:

“Nếu Matplotlib“ cố gắng biến những điều dễ dàng trở nên dễ dàng và những điều khó thành có thể ”, thì seaborn cũng cố gắng làm cho một tập hợp những điều khó khăn được xác định rõ ràng cũng trở nên dễ dàng” - Michael Waskom (Nhà sáng lập Seaborn).

Trên thực tế, Matplotlib tốt nhưng Seaborn thậm chí còn tốt hơn. Về cơ bản có hai thiếu sót của Matplotlib mà Seaborn có thể sửa chữa:

  • Matplotlib có thể được cá nhân hóa nhưng rất khó để tìm ra những cài đặt nào cần thiết để làm cho các âm mưu hấp dẫn hơn. Mặt khác, Seaborn đi kèm với nhiều chủ đề tùy chỉnh và giao diện cấp cao để giải quyết vấn đề này.
  • Khi làm việc với Pandas , Matplotlib không hoạt động tốt khi xử lý Data Frames, trong khi các hàm Seaborn thực sự hoạt động trên DataFrames.

>>> Đọc thêm: Các loại toán tử trong Python lập trình viên nào cũng cần nằm lòng

Cách cài đặt Python Seaborn

Để cài đặt thư viện Python Seaborn, bạn có thể sử dụng các lệnh sau dựa trên nền tảng bạn sử dụng:

pip install seaborn

hoặc

conda install seaborn

Sau khi cài đặt này, chỉ cần đảm bảo cài đặt các gói và thư viện mà seaborn phụ thuộc vào.

>>> Tham khảo: Khóa học lập trình Python

Cài đặt Python Seaborn Dependencies:

  • NumPy
  • SciPy
  • Matplotlib
  • Gấu trúc

Để cài đặt các thư viện này, bạn có thể sử dụng các lệnh tương tự như được hiển thị trước đây cho Seaborn với tên tương ứng của chúng. Sau khi cài đặt, chúng có thể được nhập dễ dàng. Seaborn cho phép bạn tải bất kỳ tập dữ liệu nào từ GIT bằng cách sử dụng hàm load_dataset () . Bạn cũng có thể xem tất cả các tập dữ liệu có sẵn bằng cách sử dụng hàm get_dataset_names () như sau:

Ví dụ:

1

2

import seaborn as sns

sns.get_dataset_names()

Thao tác này sẽ trả về danh sách tất cả các bộ dữ liệu có sẵn.

Bây giờ bạn đã thiết lập môi trường của mình để làm việc với seaborn, hãy tiếp tục để xem cách sử dụng các hàm vẽ biểu đồ của nó trong Python.

>>> Đọc thêm: Hướng dẫn các bước tạo đồng hồ báo thức bằng ngôn ngữ Python

Các chức năng vẽ sơ đồ

Hình dung các mối quan hệ thống kê:

Quá trình tìm hiểu mối quan hệ giữa các biến của tập dữ liệu và cách thức các mối quan hệ này phụ thuộc vào các biến khác được gọi là phân tích thống kê. Bây giờ chúng ta hãy xem xét sâu hơn các chức năng cần thiết cho việc này:

relplot ():

Đây là một hàm cấp hình sử dụng hai hàm trục khác để Hình dung các Mối quan hệ Thống kê là:

  • scatterplot ()
  • lineplot ()

Các hàm này có thể được chỉ định bằng cách sử dụng tham số 'kind' của relplot (). Trong trường hợp tham số này được đưa ra, nó sẽ lấy giá trị mặc định là scatterplot (). Trước khi bạn bắt đầu viết mã của mình, hãy đảm bảo nhập các thư viện bắt buộc như sau:

1

2

3

4

5

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

sns.set(style="darkgrid")

Xin lưu ý rằng thuộc tính style cũng có thể tùy chỉnh và có thể nhận bất kỳ giá trị nào như dark grid, tick, v.v. sẽ được thảo luận sau. Bây giờ chúng ta hãy xem một ví dụ nhỏ:

Ví dụ:

1

2

f = sns.load_dataset("flights")

sns.relplot(x="passengers", y="month", data=f);

Output

Như bạn có thể thấy, các điểm được vẽ theo 2 chiều. Tuy nhiên, bạn có thể thêm một thứ nguyên khác bằng cách sử dụng ngữ nghĩa 'hue'. Hãy xem một ví dụ tương tự:

Ví dụ:

1

2

f = sns.load_dataset("flights")

sns.relplot(x="passengers", y="month", hue="year", data=f);

Bạn sẽ thấy kết quả sau:

Output:

Tuy nhiên, có rất nhiều tùy chỉnh khác mà bạn có thể thử như màu sắc, kiểu dáng, kích thước, v.v. Bạn có thể thay đổi màu trong ví dụ sau:

Ví dụ:

1

2

3

sns.set(style="darkgrid")

f = sns.load_dataset("flights")

sns.relplot(x="passengers", y="month", hue="year",palette="ch:r=-.5,l=.75", data=f);

Output:

lineplot ():

Chức năng này sẽ cho phép bạn vẽ một đường liên tục cho dữ liệu của bạn. Bạn có thể sử dụng chức năng này bằng cách thay đổi tham số 'kind' như sau:

Ví dụ:

1

2

3

a=pd.DataFrame({'Day':[1,2,3,4,5,6,7],'Grocery':[30,80,45,23,51,46,76],'Clothes':[13,40,34,23,54,67,98],'Utensils':[12,32,27,56,87,54,34]},index=[1,2,3,4,5,6,7])

g = sns.relplot(x="Day", y="Clothes", kind="line", data=a)

g.fig.autofmt_xdate()

 

Output:

Mặc định cho lineplot là y như một hàm của x. Tuy nhiên, nó có thể được thay đổi nếu bạn muốn. Có rất nhiều tùy chọn khác mà bạn có thể thử thêm.

Bây giờ chúng ta hãy xem cách lập biểu đồ dữ liệu phân loại.

Lập đồ thị với dữ liệu phân loại:

Cách tiếp cận này đi vào hình ảnh khi biến chính của chúng ta được chia thành các nhóm rời rạc (phân loại). Điều này có thể đạt được bằng cách sử dụng hàm catplot ().

catplot ():

Đây là một hàm ở mức hình như relplot (). Nó có thể được đặc trưng bởi ba họ hàm cấp trục cụ thể là:

  1. Scatterplots - Chúng bao gồm Stripplot (), swarmplot ()
  2. Các ô phân phối - là boxplot (), violinplot (), boxenplot ()
  3. Ước tính các khe - cụ thể là pointplot (), barplot (), countplot ()

Bây giờ chúng ta hãy lấy một vài ví dụ để chứng minh điều này:

Ví dụ:

1

2

3

4

5

import seaborn as sns

import matplotlib.pyplot as plt

sns.set(style="ticks", color_codes=True)

a = sns.load_dataset("tips")

sns.catplot(x="day", y="total_bill", data=a);

Output:

 

Như bạn có thể thấy, trong ví dụ trên, tôi chưa đặt tham số 'kind'. Do đó, nó đã trả về biểu đồ dưới dạng biểu đồ phân tán mặc định. Bạn có thể chỉ định bất kỳ hàm mức trục nào để thay đổi biểu đồ khi cần thiết. Hãy lấy một ví dụ về điều này:

Ví dụ:

1

2

3

4

5

import seaborn as sns

import matplotlib.pyplot as plt

sns.set(style="ticks", color_codes=True)

a = sns.load_dataset("tips")

sns.catplot(x="day", y="total_bill", kind="violin", data=a);

Output:

Kết quả ở trên hiển thị violin plot cho tập dữ liệu mẹo. Bây giờ chúng ta hãy thử tìm cách hình dung sự phân bố của một tập dữ liệu.

Kết luận: Bạn có thể sử dụng thư viện Seaborn để làm việc hiệu quả hơn với các dự án Python. Cùng tìm hiểu thêm về Python và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H bạn nhé!