我的上班搭子之有小浣熊的一天 - 日常统计分析工作应用
兄弟们,我们今天应用商汤办公小浣熊 AI 做一下日常工作中表格统计分析的应用测试。
首先是第一步,选择相应的目标表格,为了确保真实性,这里我选择的是之前真实应用到的台账列表,是某地区某年的裸地地块遥感识别图斑,主要包括上次筛查图斑面积、本次筛查图斑面积、原属街道,网格编号、图斑编号等信息。
下边我们导入 excel 表格后,整体还是比较流畅的,很快就完成了表格的加载展示,加载完成后的效果具体如下所示:
同时加载除了不同的 sheet 页,这里我们主要应用第一个 sheet 页做测试。这里我们选择了三个问题进行测试办公小浣熊 AI 的办公能力。
第一个问题是:计算上次筛查图斑面积总和与本次筛查图斑面积总和,计算筛查图斑面积变化;
AI 在左侧应用 python 写了一些代码,生成的具体代码为:
import pandas as pd
# 读取 Excel 文件
file_path = '/mnt/data/某年-台账.xlsx'
xls = pd.ExcelFile(file_path)
# 检查文件中包含的 sheet 名称
sheet_names = xls.sheet_namessheet_names
# 加载 "台账" 这个 sheet 的数据
df = pd.read_excel(file_path, sheet_name='台账')
# 显示前几行数据以了解表格结构
df.head()
# 重置列名并删除第一行(包含列名的行)
df.columns = df.iloc[0]
df = df.drop(df.index[0])
# 显示修改后的前几行数据以确认更改
df.head()
# 计算上次筛查图斑面积总和与本次筛查图斑面积总和
# 首先确保相关列的数据类型为数值型
df['上次筛查图斑面积'] = pd.to_numeric(df['上次筛查图斑面积'], errors='coerce')
df['本次筛查图斑面积'] = pd.to_numeric(df['本次筛查图斑面积'], errors='coerce')
# 计算总和
total_previous = df['上次筛查图斑面积'].sum()
total_current = df['本次筛查图斑面积'].sum()
# 计算面积变化
area_change = total_current - total_previous
total_previous, total_current, area_change
最后输出结果为:上次筛查图斑面积的总和为 8,358,908.96 平方米,本次筛查图斑面积的总和为 9,894,979.24 平方米。因此,筛查图斑面积的变化为 1,536,070.28 平方米。(如下图所示)
表格包含 14 列属性、总计 761 行,整体结果输出时间在一分钟内,具体应用效果可参考视频。
第二个问题是:分析罗列所有街道上次筛查图斑面积、占据总量的百分比及排名,并形成图表;
AI 在左侧应用 python 写了一些代码,生成的具体代码为:
import matplotlib.pyplot as plt
# 计算各街道的上次筛查图斑面积总和
street_area_sum = df.groupby('原属镇街')['上次筛查图斑面积'].sum()
# 计算各街道面积总和的百分比
street_area_percentage = street_area_sum / total_previous * 100
# 对结果进行排序 street_area_sorted = street_area_sum.sort_values(ascending=False)street_percentage_sorted = street_area_percentage.sort_values(ascending=False)
# 创建图表
plt.figure(figsize=(12, 8))
# 绘制条形图
plt.bar(street_area_sorted.index, street_area_sorted.values, color='skyblue')
# 添加标题和标签
plt.title
('各街道上次筛查图斑面积及占总量的百分比')
plt.xlabel('街道')
plt.ylabel('图斑面积(平方米)')
# 添加百分比标签
for i, (area, percentage) in enumerate(zip(street_area_sorted.values, street_percentage_sorted.values)):
plt.text(i, area, f"{percentage:.2f}%", ha='center', va='bottom')
# 旋转 x 轴标签以便阅读
plt.xticks(rotation=45)
# 显示图表
plt.tight_layout()
plt.show()
具体输出效果如下图所示:
输出图表展示了各街道的上次筛查图斑面积及其在总量中的占比百分比。每个街道的图斑面积以条形图形式表示,同时条形图上标注了相应的占比百分比。通过这个图表,可以直观地看出各街道在裸土管理方面的情况,以及它们相对于总面积的重要性。
第三个问题是:对比分析所有街道上次筛查图斑面积与本次筛查图斑面积变化,按照镇街筛查图斑面积减少量进行排名;
AI 在左侧应用 python 写了一些代码,生成的具体代码为:
# 计算各街道的本次筛查图斑面积总和
street_current_area_sum = df.groupby('原属镇街')['本次筛查图斑面积'].sum()
# 计算各街道图斑面积的减少量
street_area_reduction = street_area_sum - street_current_area_sum
# 对减少量进行排序
street_reduction_sorted = street_area_reduction.sort_values(ascending=False)
# 创建图表
plt.figure(figsize=(12, 8))
# 绘制条形图
plt.bar(street_reduction_sorted.index, street_reduction_sorted.values, color='lightgreen')
# 添加标题和标签
plt.title('各街道筛查图斑面积减少量排名')
plt.xlabel('街道')
plt.ylabel('图斑面积减少量(平方米)')
# 旋转 x 轴标签以便阅读
plt.xticks(rotation=45)
# 显示图表
plt.tight_layout()
plt.show()
具体输出效果如下图所示:
输出图表展示了各街道在上次和本次筛查之间图斑面积的减少量,并按照减少量进行了排名。每个街道的减少量以条形图形式表示,可以直观地看出各街道在裸土管理方面取得的进展,以及哪些街道在减少图斑面积方面表现更为显著。
总的来说:
办公小浣熊 AI 还是非常优秀的,顺利的完成了我们的文件分析工作,可以满足我们日常办公的一些需求。
版权声明: 本文为 InfoQ 作者【老壳有点爽】的原创文章。
原文链接:【http://xie.infoq.cn/article/d4bd7d0d2b4f4e0422cd4ea68】。文章转载请联系作者。
评论