Âm mưu với Gấu trúc và Cufflinks
Pandas là một thư viện rất phổ biến trong Python để phân tích dữ liệu. Nó cũng có hỗ trợ chức năng cốt truyện riêng. Tuy nhiên, các âm mưu của Gấu trúc không cung cấp khả năng tương tác trong hình dung. Rất may, các âm mưu tương tác và động của cốt truyện có thể được xây dựng bằng cách sử dụngPandas dataframe các đối tượng.
Chúng tôi bắt đầu bằng cách xây dựng Khung dữ liệu từ các đối tượng danh sách đơn giản.
data = [['Ravi',21,67],['Kiran',24,61],['Anita',18,46],['Smita',20,78],['Sunil',17,90]]
df = pd.DataFrame(data,columns = ['name','age','marks'],dtype = float)
Các cột khung dữ liệu được sử dụng làm giá trị dữ liệu cho x và ythuộc tính của dấu vết đối tượng đồ thị. Ở đây, chúng tôi sẽ tạo một dấu vết thanh bằng cách sử dụngname và marks cột.
trace = go.Bar(x = df.name, y = df.marks)
fig = go.Figure(data = [trace])
iplot(fig)
Một biểu đồ thanh đơn giản sẽ được hiển thị trong sổ ghi chép Jupyter như bên dưới:
Plotly được xây dựng dựa trên d3.js và đặc biệt là một thư viện biểu đồ có thể được sử dụng trực tiếp với Pandas dataframes sử dụng một thư viện khác có tên Cufflinks.
Nếu chưa có sẵn, hãy cài đặt gói khuy măng sét bằng cách sử dụng trình quản lý gói yêu thích của bạn như pip như dưới đây -
pip install cufflinks
or
conda install -c conda-forge cufflinks-py
Đầu tiên, nhập măng sét cùng với các thư viện khác như Pandas và numpy có thể cấu hình nó để sử dụng ngoại tuyến.
import cufflinks as cf
cf.go_offline()
Bây giờ, bạn có thể trực tiếp sử dụng Pandas dataframe để hiển thị các loại ô khác nhau mà không cần phải sử dụng các đối tượng theo dõi và hình từ graph_objs module như chúng tôi đã làm trước đây.
df.iplot(kind = 'bar', x = 'name', y = 'marks')
Biểu đồ thanh, rất giống với biểu đồ trước đó sẽ được hiển thị như bên dưới -
Khung dữ liệu gấu trúc từ cơ sở dữ liệu
Thay vì sử dụng danh sách Python để xây dựng khung dữ liệu, nó có thể được điền bởi dữ liệu trong các loại cơ sở dữ liệu khác nhau. Ví dụ: dữ liệu từ tệp CSV, bảng cơ sở dữ liệu SQLite hoặc bảng cơ sở dữ liệu mysql có thể được tìm nạp vào khung dữ liệu Pandas, khung dữ liệu này cuối cùng sẽ được biểu đồ bằng cách sử dụngFigure object hoặc là Cufflinks interface.
Để tìm nạp dữ liệu từ CSV file, chúng ta có thể sử dụng read_csv() chức năng từ thư viện Pandas.
import pandas as pd
df = pd.read_csv('sample-data.csv')
Nếu dữ liệu có sẵn trong SQLite database table, nó có thể được truy xuất bằng cách sử dụng SQLAlchemy library như sau -
import pandas as pd
from sqlalchemy import create_engine
disk_engine = create_engine('sqlite:///mydb.db')
df = pd.read_sql_query('SELECT name,age,marks', disk_engine)
Mặt khác, dữ liệu từ MySQL database được truy xuất trong khung dữ liệu Pandas như sau:
import pymysql
import pandas as pd
conn = pymysql.connect(host = "localhost", user = "root", passwd = "xxxx", db = "mydb")
cursor = conn.cursor()
cursor.execute('select name,age,marks')
rows = cursor.fetchall()
df = pd.DataFrame( [[ij for ij in i] for i in rows] )
df.rename(columns = {0: 'Name', 1: 'age', 2: 'marks'}, inplace = True)