小伙伴们好呀,这篇文章来分享下如何使用商汤科技的小浣熊办公助手来进行网站数据分析。
如图所示,它的主要功能是 数据分析 方面的,它懂 画图表,做分析,看趋势,能反思。
下面,我就用它来分析下网站数据,格式如下 👇
文件预览
打开 https://raccoon.sensetime.com/office 网页。
将 java4ye_website.csv 网站数据拖动到小浣熊助手上,就可以进行在线预览,十分方便。
数据调整
有些时候,数据可能会出现一些错误,比如两个列的数据颠倒过来了,需要把两个列的数据进行对换。
如图所示,我将要求告诉小浣熊。
步骤 1
提问:将 DAU 和 UV 列的数据进行对换
小浣熊:执行代码👇
import pandas as pd
# 读取文件
file_path = '/mnt/data/java4ye_website.csv'
df = pd.read_csv(file_path)
# 显示前几行以确认表格结构
df.head()
# 对换 DAU 和 UV 列的数据
df['UV'], df['DAU'] = df['DAU'], df['UV']
# 显示修改后的前几行以确认更改
df.head()
复制代码
步骤 2
提问:保存修改后的数据
小浣熊:执行代码👇
# 保存修改后的数据到新的 CSV 文件
output_file_path = '/mnt/data/modified_java4ye_website.csv'
df.to_csv(output_file_path, index=False)
output_file_path
复制代码
修改好数据后,小浣熊还提供了两个操作给我们保存数据👇
直接下载
保存到 数据管理
我选择将数据保存到 数据管理 。
接着在会话界面,点击 来自数据管理 功能,选择修改后的 csv 文件,就可以直接预览该文件数据了。
操作非常丝滑,很不错!
数据分析
最开始,我就简单问它: 哪一天的 UV 是最多的? 👇
没想到它这么智能,还猜出了我后面可能问的问题,并给出选择。
于是我直接选择新的提问:查看 UV 最多的那一天的详细数据
接着就看到它执行了这段代码。
# 获取 UV 最多的那一天的详细数据
max_uv_details = df[df['Date'] == max_uv_day]
max_uv_details
复制代码
并且,将 数据翻译 后返回给我,太贴心了!👍(ps:上传的文档中并没有中文注释)
在 2023 年 9 月 9 日,该网站的详细数据如下:
日期:2023/9/9
UV(独立访客数):1400
PV(页面浏览量):2350
平均会话时长:2 分 55 秒
跳出率:0.27
点击通过率:0.15
滚动深度:70%
落地页:CategoryPage
退出页:Contact
日活跃用户数(DAU):1750
月活跃用户数(MAU):16200
留存率:0.49
这是 UV 最多的那一天的所有相关数据
画图场景
时间序列图
场景:查看网站数据时,我们会在意 UV(独立访客)、PV(页面浏览量)、DAU(日活跃用户)这些数据的变化,通过观察它们增长或下降的趋势,来思考怎么优化网站。
提问:时间序列图 指标:UV, PV, DAU 描述:展示各项指标随时间变化的趋势
小浣熊:执行代码👇
import pandas as pd
import matplotlib.pyplot as plt
# 读取文件
file_path = '/mnt/data/modified_java4ye_website.csv'
df = pd.read_csv(file_path)
# 检查数据的前几行以了解其结构
df.head()
# 绘制时间序列图
plt.figure(figsize=(12, 6))
# 将日期转换为日期格式
df['Date'] = pd.to_datetime(df['Date'])
# 绘制UV, PV, DAU的时间序列图
plt.plot(df['Date'], df['UV'], label='UV', marker='o')
plt.plot(df['Date'], df['PV'], label='PV', marker='x')
plt.plot(df['Date'], df['DAU'], label='DAU', marker='^')
# 添加图例
plt.legend()
# 添加标题和轴标签
plt.title('时间序列图 - UV, PV, DAU随时间的变化趋势')
plt.xlabel('日期')
plt.ylabel('数值')
# 显示图表
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
复制代码
很快就按要求将图画出来了,方便我观察 UV,PV,DAU 的数据变化趋势。
柱状图
这里,我让它用柱状图表示 九月份平均会话时长 。
这是另一个场景:通过分析 AvgSessionDuration(平均会话时长)的变化趋势,我可以了解到用户在网站上的停留时间是否稳定。
在执行命令的过程中,出现了一点小错误 👇
# 将平均会话时长转换为秒
data['AvgSessionDurationInSeconds'] = data['AvgSessionDurationInMinutes'] * 60
复制代码
这是因为 AvgSessionDuration 字段的值是 2:30 。
小浣熊理解成 2 小时 30 分钟,就直接去乘 60 了,结果画出来的图就不对了。
当然,这是因为我没有表达清楚。😅
后面我纠正后,并告诉它说:
# 将平均会话时长转换为秒
data['AvgSessionDurationInSeconds'] = data['AvgSessionDurationInMinutes'] * 60
这个代码错误,删除它再执行
复制代码
结果,它立刻进行了反思,并迅速修改好代码 👇
# 删除之前错误添加的代码行,并重新计算平均会话时长(以秒为单位)
data['AvgSessionDurationInSeconds'] = data['AvgSessionDuration'].apply(lambda x: int(x.split(':')[0]) * 60 + int(x.split(':')[1]))
# 筛选九月份的数据
september_data_seconds = data[data['Date'].dt.month == 9]
# 绘制九月份 AvgSessionDuration 的柱状图(以秒为单位)
plt.figure(figsize=(12, 6))
plt.bar(september_data_seconds['Date'], september_data_seconds['AvgSessionDurationInSeconds'], color='skyblue')
plt.title('九月份 AvgSessionDuration 柱状图(秒)')
plt.xlabel('日期')
plt.ylabel('平均会话时长(秒)')
plt.grid(axis='y')
# 设置 x 轴显示每五天的日期
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=5))
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
复制代码
而且,在生成图表后,还告诉我怎么去理解这个图。
现在展示的是九月份 AvgSessionDuration(平均会话时长)的柱状图,单位为秒。这个图表提供了关于用户在网站上停留时间的详细视图,有助于深入了解用户行为的稳定性和变化
而我也从图中发现,9 月份的会话时长,在 130 s 到 175 s 之间。
饼图
场景:页面分析,通过分析不同着陆页(LandingPage)和退出页(ExitPage)的分布情况,来了解用户经常从哪个页面进入网站,又在哪个页面离开的。
提问:饼图 指标:LandingPage, ExitPage 描述:使用百分比,比较不同入口和出口页面的流量占比。
代码:
# 创建饼图来比较不同入口和出口页面的流量占比
plt.figure(figsize=(12, 6))
# 绘制LandingPage的饼图
plt.subplot(1, 2, 1)
plt.pie(landing_counts, labels=landing_counts.index, autopct='%1.1f%%', startangle=140)
plt.title('入口页面流量占比')
# 绘制ExitPage的饼图
plt.subplot(1, 2, 2)
plt.pie(exit_counts, labels=exit_counts.index, autopct='%1.1f%%', startangle=140)
plt.title('出口页面流量占比')
plt.tight_layout()
plt.show()
复制代码
很智能,立刻就了解了我的需求,并按要求将饼图画出来!👍
让我直观地了解到各个页面的流量情况,方便后续优化网站。
总结
小浣熊办公助手真的是数据分析利器!
以前需要自己对这份 csv 文件进行分析,在 excel 里排序,计算一些值之类的。
现在有了小浣熊:
我直接将数据上传上来,直接对它进行提问,它就能帮我分析,并给出我想要的数据。
还可以修改数据并保存到数据管理里面,方便在线操作。
同时,还能针对各种场景画出不同的图表,更直观地展示数据,方便我了解这些数据背后的含义。
它真的能反思,告诉它哪里需要修改时,他能明白你的要求,并做出正确的修改。
可以发现它真的是数据分析能手!做到了官网中提出的 画图表,做分析,看趋势,能反思 等功能,而且界面也很好看,操作起来非常便捷!
评论