前言:Python 是进行数据分析和可视化的强大工具,常用的库包括 Pandas、NumPy、Matplotlib 和 Seaborn。以下是一个基本的教程概述,介绍了如何使用这些库来进行数据分析和可视化:
Python数据分析及可视化教程
1、 环境准备
- 确保已经安装了 Python 和相关库。你可以使用 pip 来安装所需的库:
pip install pandas numpy matplotlib seaborn
2、数据准备
通过一个商城数据分析和可视化的示例来展示如何使用 Python 进行数据分析和可视化。假设你有一个包含商城交易数据的 CSV 文件,文件名为 sales_data.csv,其中包含以下字段:
order_id
: 订单IDproduct
: 产品名称quantity
: 购买数量price
: 单价total_amount
: 总金额(通常是 quantity 和 price 的乘积)order_date
: 订单日期customer_id
: 顾客ID
3、开始数据分析
3.1、导入库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
3.2、加载数据
# 加载数据
data = pd.read_csv('sales_data.csv')
# 查看数据的前几行
print(data.head())
3.3、数据预处理
确保数据的格式和类型正确。
# 确保日期列为日期格式
data['order_date'] = pd.to_datetime(data['order_date'])
# 检查数据的基本信息
print(data.info())
# 计算总金额(如果数据中没有此列)
data['total_amount'] = data['quantity'] * data['price']
3.4、数据分析
描述性统计
# 描述性统计
print(data.describe())
# 按产品进行分组并计算总销售额
product_sales = data.groupby('product')['total_amount'].sum().reset_index()
print(product_sales)
时间序列分析
按月计算总销售额趋势:
# 以月份为单位汇总销售额
data['month'] = data['order_date'].dt.to_period('M')
monthly_sales = data.groupby('month')['total_amount'].sum().reset_index()
# 转换为 DataFrame 的日期时间格式
monthly_sales['month'] = monthly_sales['month'].dt.to_timestamp()
print(monthly_sales)
3.5、数据可视化
产品销售总额
# 绘制产品销售总额的条形图
plt.figure(figsize=(10, 6))
sns.barplot(x='product', y='total_amount', data=product_sales, palette='viridis')
plt.xticks(rotation=45)
plt.xlabel('Product')
plt.ylabel('Total Sales Amount')
plt.title('Total Sales Amount by Product')
plt.show()
销售额时间趋势:
# 绘制月销售额趋势图
plt.figure(figsize=(12, 6))
plt.plot(monthly_sales['month'], monthly_sales['total_amount'], marker='o')
plt.xlabel('Month')
plt.ylabel('Total Sales Amount')
plt.title('Monthly Sales Trend')
plt.grid(True)
plt.xticks(rotation=45)
plt.show()
顾客购买行为分析
假设我们想分析每个顾客的购买总额:
# 计算每个顾客的总购买额
customer_sales = data.groupby('customer_id')['total_amount'].sum().reset_index()
# 绘制顾客购买总额的直方图
plt.figure(figsize=(10, 6))
sns.histplot(customer_sales['total_amount'], bins=30, kde=True)
plt.xlabel('Total Sales Amount')
plt.ylabel('Number of Customers')
plt.title('Distribution of Total Sales Amount per Customer')
plt.show()
4、总结
通过上述分析,你可以获取以下信息:
- 哪些产品的销售额最高。
- 销售额在时间上的变化趋势。
- 顾客购买金额的分布情况。
请参考整体代码,如下:
# sales_data_analysis.py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 设置可视化风格
sns.set(style="whitegrid")
def load_data(file_path):
"""加载数据"""
data = pd.read_csv(file_path)
data['order_date'] = pd.to_datetime(data['order_date'])
if 'total_amount' not in data.columns:
data
标签:数据分析,plt,Python,sales,amount,total,电商,data
From: https://blog.csdn.net/weixin_44892179/article/details/142102736