学习数据可视化基础,理解数据洞察
使用 retail_orders 数据集,为可视化做准备。
数据可视化是将数据转换为图形或图表的过程,帮助我们:
为可视化计算关键指标,如总销售额。
# 计算每行的总销售额 df['total_sales'] = df['quantity'] * df['price'] print(df[['product', 'quantity', 'price', 'total_sales']].head())
按维度聚合数据,准备柱状图或饼图数据。
# 按产品聚合总销售额 product_sales = df.groupby('product')['total_sales'].sum() print('各产品销售总额:') print(product_sales.sort_values(ascending=False))
计算各部分占整体的比例,适合饼图展示。
# 计算各地区销售占比 region_sales = df.groupby('region')['total_sales'].sum() region_percent = region_sales / region_sales.sum() * 100 print('各地区销售占比:') print(region_percent.round(1))
找出最受欢迎或表现最好的项目。
# 按销量降序排序 product_qty = df.groupby('product')['quantity'].sum() sorted_products = product_qty.sort_values(ascending=False) print('产品销量排行:') print(sorted_products)
快速找到最大值对应的索引。
# 找出销售额最高的产品 df['total_sales'] = df['quantity'] * df['price'] product_sales = df.groupby('product')['total_sales'].sum() top_product = product_sales.idxmax() max_sales = product_sales.max() print(f'销售额最高的产品: {top_product}, 销售额: {max_sales}')
将分组结果转换为宽格式,适合热力图。
# 创建产品与地区的交叉表 df['total_sales'] = df['quantity'] * df['price'] cross_sales = df.groupby(['product', 'region'])['total_sales'].sum().unstack() print('产品地区销售矩阵:') print(cross_sales)
了解数据分布特征。
# 计算价格和数量的描述统计 print('数量统计:') print(df['quantity'].describe()) print('\n价格统计:') print(df['price'].describe())
在下方代码编辑器中编写并运行完整的数据可视化准备代码:
整合本项目的所有代码,可以一次性运行查看完整结果。
import pandas as pd
df = pd.read_csv('retail_orders.csv')
df['total_sales'] = df['quantity'] * df['price']
product_sales = df.groupby('product')['total_sales'].sum()
region_sales = df.groupby('region')['total_sales'].sum()
region_percent = region_sales / region_sales.sum() * 100
cross_sales = df.groupby(['product', 'region'])['total_sales'].sum().unstack()