Lập trình công cụ phân tích thời gian sử dụng smartphone bằng Python

Screen Time Analysis cho bạn biết những ứng dụng và trang web nào bạn đã dùng và thời gian sử dụng cho mỗi ứng dụng, trang web là bao nhiêu. Các thông tin ấy được biểu diễn dưới dạng báo cáo đồ họa rất trực quan.

Screen Time Analysis hay công cụ phân tích thời gian sử dụng thiết bị di động xuất hiện lần đầu trên iOS. Sau này, Google cũng phát triển một công cụ tương tự dành cho Android.

Nếu bạn muốn tìm hiểu về cách vận hành của một công cụ phân tích thời gian thì bài viết này dành cho bạn. Trong bài viết này, chúng ta sẽ thử lập trình các tác vụ của Screen Time Analysis bằng ngôn ngữ lập trình Python.

Screen Time Analysis

Screen Time Analysis là tập hợp những tác vụ phân tích và tạo một báo cáo về những ứng dụng và trang web mà người dùng sử dụng trong khoảng bao lâu. iOS cung cấp một trong những báo cáo Screen Time tốt nhất.

Screen Time Analysis

Để thực hiện tác vụ phân tích thời gian, dưới đây là dữ liệu mà một bộ dữ liệu lý tưởng cần phải có:

  1. Ngày.
  2. Số lần sử dụng ứng dụng.
  3. Số lượng thông báo từ các ứng dụng.
  4. Số lần ứng dụng đã được mở.

Bạn có thể tải về một bộ dữ liệu mẫu bằng cách nhấn vào đây.

Trong phần bên dưới, chúng ta sẽ thử lập trình các tác vụ của Screen Time Analysis bằng Python.

Lập trình công cụ Screen Time Analysis bằng Python

Chúng ta hãy bắt đầu công việc bằng cách nhập các thư viện Python cần thiết và bộ dữ liệu:

import pandas as pd
import numpy as np
import plotly.express as px
import plotly.graph_objects as go

data = pd.read_csv("Screentime - App Details.csv")
print(data.head())

Dưới đây là những thông số của dữ liệu mẫu:

         Date  Usage  Notifications  Times opened        App
0  08/26/2022     38             70            49  Instagram
1  08/27/2022     39             43            48  Instagram
2  08/28/2022     64            231            55  Instagram
3  08/29/2022     14             35            23  Instagram
4  08/30/2022      3             19             5  Instagram

Bây giờ chúng ta sẽ kiểm tra xem bộ dữ liệu mẫu có bất cứ giá trị null (rỗng) nào hay không:

data.isnull().sum()
Date             0
Usage            0
Notifications    0
Times opened     0
App              0
dtype: int64

Bộ dữ liệu không có giá trị null nào. Tiếp theo chúng ta sẽ nhìn vào các số liệu thống kê mô tả của dữ liệu:

print(data.describe())
            Usage  Notifications  Times opened
count   54.000000      54.000000     54.000000
mean    65.037037     117.703704     61.481481
std     58.317272      97.017530     43.836635
min      1.000000       8.000000      2.000000
25%     17.500000      25.750000     23.500000
50%     58.500000      99.000000     62.500000
75%     90.500000     188.250000     90.000000
max    244.000000     405.000000    192.000000

Bây giờ hãy bắt đầu với việc phân tích thời gian sử dụng smartphone của người dùng. Trước tiên, chúng ta hãy xem xét lượng sử dụng của các ứng dụng:

figure = px.bar(data_frame=data, 
                x = "Date", 
                y = "Usage", 
                color="App", 
                title="Usage")
figure.show()

Lượng sử dụng của các ứng dụng

Tiếp theo chúng ta sẽ xem xét số lượng các thông báo từ các ứng dụng:

figure = px.bar(data_frame=data, 
                x = "Date", 
                y = "Notifications", 
                color="App", 
                title="Notifications")
figure.show()

Số lượng các thông báo từ các ứng dụng

Kế đến là xem xét số lần ứng dụng đã được mở:

figure = px.bar(data_frame=data, 
                x = "Date", 
                y = "Times opened", 
                color="App",
                title="Times Opened")
figure.show()

Số lần ứng dụng đã được mở

Chúng ta thường sử dụng smartphone khi nhận được thông báo từ bất kỳ ứng dụng nào. Do vậy, hãy xem xét mối quan hệ giữa số lượng ứng dụng và thời lượng sử dụng:

figure = px.scatter(data_frame = data, 
                    x="Notifications",
                    y="Usage", 
                    size="Notifications", 
                    trendline="ols", 
                    title = "Relationship Between Number of Notifications and Usage")
figure.show()

Mối quan hệ giữa số lượng ứng dụng và thời lượng sử dụng

Có một mối liên hệ tuyến tính giữa số lượng thông báo và thời lượng sử dụng. Điều này có nghĩa là nhận nhiều thông báo sẽ dẫn tới việc sử dụng smartphone nhiều hơn.

Kết luận

Vậy là chúng ta đã có thể phân tích thời gian sử dụng smartphone của một người dùng bằng ngôn ngữ lập trình Python. Hy vọng rằng bài viết này có ích với bạn.

Thứ Sáu, 18/11/2022 10:27
52 👨 1.088
0 Bình luận
Sắp xếp theo
    ❖ Học Python