🎈前言
在这个快节奏、高效率的工作环境中,每个人都在为了达到更高的工作标准而不懈努力。但就在这紧张兮兮的日常中,突然出现了一位使整个工作流程变得不同寻常的神秘角色——“办公神器小浣熊”。有了它,我仿佛找到了在繁忙工作间隙,偷得浮生半日闲的秘诀。在这个故事的开头,让我们一起探寻这位不按常理出牌的办公助手——“办公神器小浣熊”,和它带来的那份不可思议的轻松与效率并存的工作体验。
🎈办公神器小浣熊是什么
"办公神器小浣熊"是基于商汤大语言模型开发的数据分析产品,能通过自然语言处理自动转化数据为分析和可视化结果。它理解复杂和多源表格文件,实现数据清洗、运算、比较、趋势和预测性分析等任务,支持财务、商业、销售预测、市场和宏观分析等多场景应用。
"小浣熊家族"系列工具,由商汤大语言模型开发,针对软件开发、数据分析和编程教育等多场景设计,旨在用先进 AI 技术提升工作效率。目前,包括代码小浣熊和办公小浣熊在内的工具已服务十余万用户,提供了数亿次智能辅助。
🎈绝招一:数据分析功能
通过数据库导入本地数据,并进行分析,这个功能是当前智能体时代较为前沿的功能。
点击导入数据库文件,登陆本地数据库,选择数据表进行导入,导入之后进行预览,并在左下角提问相关的问题:
我提出的三连问:
帮我分析一下表中所有手机的均值?以及所有手机的总价格?如果按照净利润为总金额 10%售卖的话,每个手机该怎么样定价?
答案:
# Reading the content of the provided SQL file to understand its structure and data
file_path = '/mnt/data/products.sql'
with open(file_path, 'r', encoding='utf-8') as file:
sql_content = file.read()
# Displaying the first 500 characters of the SQL file to get an idea of its structure
sql_content[:500]
from sqlite3 import connect
# Connect to an in-memory SQLite database
conn = connect(':memory:')
cursor = conn.cursor()
# Execute the SQL script to create table and insert data
cursor.executescript(sql_content)
# Commit the changes
conn.commit()
# Fetch the first few rows to verify the data
cursor.execute("SELECT * FROM Products LIMIT 5;")
rows = cursor.fetchall()
# Display the first few rows to verify the data
rows
###################首先,让我们找出所有手机并计算其均值。#################
# Filter out the rows that are mobile phones based on the product name containing "iPhone" or "Galaxy"
cursor.execute("""
SELECT product_id, product_name, price, stock
FROM Products
WHERE product_name LIKE '%iPhone%' OR product_name LIKE '%Galaxy%'
""")
mobile_phones = cursor.fetchall()
# Calculate the average price of all mobile phones
average_price = sum(row[2] for row in mobile_phones) / len(mobile_phones)
# Display the mobile phones and their average price
mobile_phones, average_price
我们找到了两款手机:
iPhone 12,价格为 $1000.00
Samsung Galaxy S21,价格为 $900.00
所有手机的平均价格为 $950.00
###########################接下来,我们将计算所有手机的总价格。########################
# Calculate the total price of all mobile phones
total_price = sum(row[2] * row[3] for row in mobile_phones)
# Display the total price of all mobile phones
total_price
###########################最后,我们来计算如果按照净利润为总金额的10%进行定价,每个手机应该如何定价。
# Calculate the new pricing for each mobile phone based on the net profit margin of 10%
net_profit_margin = 0.10
new_prices = [(row[2] * row[3]) / (1 + net_profit_margin) for row in mobile_phones]
# Display the new pricing for each mobile phone
new_prices
按照净利润为总金额的10%进行定价后,每个手机的新定价如下:
iPhone 12:约 $90,909.09
Samsung Galaxy S21:约 $163,636.36
复制代码
对以上的回答,我只能说是绝了,这不妥妥的解放我的双手吗,这不让我有了摸鱼的理由,由此可见,当前的高效率工具已经逐渐为人们提供了快速发展的动力。
🎈绝招二:数据处理功能
左下角上传 Excel 文件,然后在文字框里边输入相应的问题,发送,小浣熊会自动分析你的问题并对 Excel 文件做出相应的分析,并给出处理后的结果。
例如:把如下 excel 中的空值全部填为 0 并导出:
对应生成的代码:
import pandas as pd
# 读取Excel文件
file_path = '/mnt/data/缺失值处理.xlsx'
df = pd.read_excel(file_path)
# 将空值填充为0
df.fillna(0, inplace=True)
# 导出修改后的文件
output_file_path = '/mnt/data/缺失值处理_空值填充为0.xlsx'
df.to_excel(output_file_path, index=False)
output_file_path
复制代码
处理后的文件:
🎈绝招三:图表生成功能
请用雷达图展示 Lewis Hamilton 和 Michael Schumacher 这两个赛车手的以下数据指标:
1. 总胜利次数
2. 总杆位次数
3. 总最快圈速次数
使用的代码:
import pandas as pd
# 读取CSV文件
file_path = '/mnt/data/f1db-races-race-results.csv'
df = pd.read_csv(file_path)
# 显示前几行数据以了解其结构
df.head()
import matplotlib.pyplot as plt
import numpy as np
# 筛选出Lewis Hamilton和Michael Schumacher的数据
hamilton_data = df[df['driverId'] == 'lewis-hamilton']
schumacher_data = df[df['driverId'] == 'michael-schumacher']
# 计算总胜利次数、总杆位次数和总最快圈速次数
hamilton_wins = hamilton_data['positionText'].value_counts().get('1', 0)
hamilton_poles = hamilton_data['gridPositionText'].value_counts().get('1', 0)
hamilton_fastest_laps = hamilton_data['fastestLap'].sum()
schumacher_wins = schumacher_data['positionText'].value_counts().get('1', 0)
schumacher_poles = schumacher_data['gridPositionText'].value_counts().get('1', 0)
schumacher_fastest_laps = schumacher_data['fastestLap'].sum()
# 准备雷达图数据
labels = ['总胜利次数', '总杆位次数', '总最快圈速次数']
hamilton_values = [hamilton_wins, hamilton_poles, hamilton_fastest_laps]
schumacher_values = [schumacher_wins, schumacher_poles, schumacher_fastest_laps]
angles = np.linspace(0, 2 * np.pi, len(labels), endpoint=False).tolist()
hamilton_values += hamilton_values[:1]
schumacher_values += schumacher_values[:1]
angles += angles[:1]
# 绘制雷达图
fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True))
ax.fill(angles, hamilton_values, color='blue', alpha=0.25, label='Lewis Hamilton')
ax.fill(angles, schumacher_values, color='red', alpha=0.25, label='Michael Schumacher')
# 添加标签
ax.set_yticklabels([])
ax.set_xticks(angles[:-1])
ax.set_xticklabels(labels)
# 添加图例和标题
ax.legend(loc='upper right', bbox_to_anchor=(0.1, 0.1))
plt.title("Lewis Hamilton vs Michael Schumacher")
plt.show()
复制代码
🍚总结
通过这三个功能,小浣熊展示了其在数据分析、处理和可视化方面的强大能力。用户可以轻松地导入数据、提出问题并得到答案,同时通过图表直观地比较数据。这使得小浣熊成为一个热心的、功能丰富的数据助手,为用户提供了强大的数据分析工具和用户体验。
Writted By 知识浅谈
评论