Biểu đồ là một biểu diễn đồ họa thường được sử dụng để trực quan hóa việc phân phối dữ liệu số. Khi khám phá một tập dữ liệu, bạn thường muốn hiểu nhanh về sự phân bố của các biến số nhất định trong đó. Bạn có thể làm điều này bằng cách sử dụng biểu đồ. Một biểu đồ chia các giá trị trong một biến số thành "các ngăn" và đếm số quan sát rơi vào mỗi ngăn. Bằng cách trực quan hóa các số lượng được đánh dấu này theo kiểu cột, chúng ta có thể có được cảm giác rất tức thì và trực quan về sự phân bố các giá trị trong một biến
Công thức này sẽ chỉ cho bạn cách tạo biểu đồ bằng Python. Cụ thể, bạn sẽ sử dụng phương pháp pandas hist[]
, đơn giản là một trình bao bọc cho API pyplot matplotlib
Trong ví dụ của chúng tôi, bạn sẽ hình dung việc phân phối thời lượng phiên cho một trang web. Các bước trong công thức này được chia thành các phần sau
Bạn có thể tìm thấy các triển khai của tất cả các bước được nêu bên dưới trong báo cáo Chế độ ví dụ này. Bắt đầu nào
sắp xếp dữ liệu
Bạn sẽ sử dụng SQL để sắp xếp dữ liệu bạn cần cho phân tích của chúng tôi. Đối với ví dụ này, bạn sẽ sử dụng tập dữ liệu
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
0 có sẵn trong Kho dữ liệu công khai của Chế độ. Sử dụng bên trong , đảm bảo nguồn dữ liệu của bạn được đặt thành nguồn dữ liệu Chế độ Kho công khai và chạy truy vấn sau để sắp xếp dữ liệu của bạnselect *
from modeanalytics.sessions
Khi truy vấn SQL đã chạy xong, hãy đổi tên truy vấn SQL của bạn thành
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
1 để bạn có thể xác định nó trong sổ ghi chép Python. Bạn có thể thực hiện việc này bằng cách điều hướng đến dấu 3 chấm bên cạnh 'Truy vấn 1" trên thanh công cụ của trình soạn thảo và nhấp vào "Đổi tên. ”Khám phá và chuẩn bị dữ liệu
Bây giờ bạn đã sắp xếp dữ liệu của mình, bạn đã sẵn sàng chuyển sang sổ ghi chép Python để chuẩn bị dữ liệu của mình để trực quan hóa. Bên trong sổ ghi chép Python, hãy bắt đầu bằng cách nhập các mô-đun Python mà bạn sẽ sử dụng trong suốt phần còn lại của công thức này
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
Chế độ đưa kết quả của các truy vấn SQL của bạn vào một pandas được gán cho biến
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
2. Bạn có thể sử dụng dòng Python sau để truy cập kết quả truy vấn SQL của mình dưới dạng khung dữ liệu và gán chúng cho một biến mớidf = datasets['Sessions']
Bạn có thể hiểu được hình dạng của tập dữ liệu của mình bằng cách sử dụng thuộc tính
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
3 của khung dữ liệudf.shape
Gọi thuộc tính
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
3 của khung dữ liệu sẽ trả về một bộ chứa các thứ nguyên [hàng x cột] của khung dữ liệu. Trong ví dụ của chúng tôi, bạn có thể thấy rằng tập dữ liệu phiên mà chúng tôi đang làm việc có 65.499 hàng [phiên] theo 5 cột. Bạn có thể điều tra các loại dữ liệu của các biến trong tập dữ liệu của mình bằng cách gọi thuộc tính import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
5df.dtypes
Gọi thuộc tính
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
5 của khung dữ liệu sẽ trả về thông tin về kiểu dữ liệu của các biến riêng lẻ trong khung dữ liệu. Trong ví dụ của chúng tôi, bạn có thể thấy rằng gấu trúc đã suy luận chính xác kiểu dữ liệu của một số biến nhất định, nhưng để lại một vài kiểu dữ liệu là import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.ticker import StrMethodFormatter
7. Bạn có khả năng truyền các biến này theo cách thủ công sang các loại dữ liệu phù hợp hơn# Data type conversions
df['created_at'] = df['created_at'].astype['datetime64[ns]']
df['user_type'] = df['user_type'].astype['category']
# Show new data types
df.dtypes
Bây giờ bạn đã chuẩn bị tập dữ liệu của mình, chúng tôi đã sẵn sàng để trực quan hóa dữ liệu
Trực quan hóa dữ liệu
Lịch sử gấu trúc[]
Để tạo biểu đồ, chúng tôi sẽ sử dụng phương pháp gấu trúc. Gọi phương thức hist[]
trên khung dữ liệu gấu trúc sẽ trả về biểu đồ cho tất cả các chuỗi không gây phiền toái trong khung dữ liệu
Thông số biểu đồ chính
Hầu hết thời gian, khi trực quan hóa dữ liệu, bạn muốn làm nổi bật các biến cụ thể. Để thực hiện việc này bằng cách sử dụng biểu đồ gấu trúc, bạn sẽ cần sử dụng các tham số của nó. Dưới đây là một số thông số hist[]
của gấu trúc phổ biến nhất
- cột. [các] cột cụ thể mà bạn muốn tạo biểu đồ của
- qua. tham số để phân chia dữ liệu của bạn;
- thùng số lượng nhóm mà dữ liệu của bạn sẽ được nhóm theo [số lượng thanh trong biểu đồ của bạn];
Vì bạn chỉ quan tâm đến việc trực quan hóa phân phối của biến
df = datasets['Sessions']
1, nên bạn sẽ chuyển tên cột vào đối số df = datasets['Sessions']
2 của phương thức hist[]
để giới hạn kết quả trực quan hóa đối với biến quan tâmdf.hist[column='session_duration_seconds']
Bạn có thể tùy chỉnh thêm giao diện biểu đồ của mình bằng cách cung cấp các tham số bổ sung của phương thức hist[]
và tận dụng chức năng tạo kiểu matplotlib
ax = df.hist[column='session_duration_seconds', bins=25, grid=False, figsize=[12,8], color='#86bf91', zorder=2, rwidth=0.9]
ax = ax[0]
for x in ax:
# Despine
x.spines['right'].set_visible[False]
x.spines['top'].set_visible[False]
x.spines['left'].set_visible[False]
# Switch off ticks
x.tick_params[axis="both", which="both", bottom="off", top="off", labelbottom="on", left="off", right="off", labelleft="on"]
# Draw horizontal axis lines
vals = x.get_yticks[]
for tick in vals:
x.axhline[y=tick, linestyle='dashed', alpha=0.4, color='#eeeeee', zorder=1]
# Remove title
x.set_title[""]
# Set x-axis label
x.set_xlabel["Session Duration [Seconds]", labelpad=20, weight='bold', size=12]
# Set y-axis label
x.set_ylabel["Sessions", labelpad=20, weight='bold', size=12]
# Format y-axis label
x.yaxis.set_major_formatter[StrMethodFormatter['{x:,g}']]
Phương thức hist[]
của gấu trúc cũng cung cấp cho bạn khả năng tạo các ô con riêng biệt cho các nhóm dữ liệu khác nhau bằng cách chuyển một cột tới tham số
df = datasets['Sessions']
6. Ví dụ: bạn có thể tạo biểu đồ riêng cho các loại người dùng khác nhau bằng cách chuyển cột df = datasets['Sessions']
7 đến tham số df = datasets['Sessions']
6 trong phương thức hist[]