📌 引言

在数据驱动的时代,“数据分析”几乎成为每一个开发者、产品经理甚至运营人员都绕不开的核心技能。而在 Python 的数据分析工具箱中,Pandas 无疑是最强大的利器之一。

这篇文章将带你完成一次真实的 Pandas 数据分析实战:
从读取原始数据,到清洗处理,再到可视化和洞察的输出。


🧱 环境准备

首先我们需要安装必要的库:

pip install pandas matplotlib seaborn

导入工具:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

📥 第一步:读取原始数据

以某在线零售订单数据为例(例如 orders.csv),内容包括订单号、客户信息、日期、产品类别、价格等字段。

df = pd.read_csv("orders.csv")
print(df.head())

🧹 第二步:数据清洗

数据清洗是数据分析中最关键但最容易被忽视的一步。

1. 查看数据基本信息

df.info()
df.describe()

2. 处理缺失值

# 查看缺失值情况
print(df.isnull().sum())

# 填充或删除
df['customer_name'].fillna('未知客户', inplace=True)
df.dropna(subset=['order_id'], inplace=True)

3. 处理重复值

df.drop_duplicates(inplace=True)

4. 类型转换

df['order_date'] = pd.to_datetime(df['order_date'])
df['price'] = df['price'].astype(float)

🔍 第三步:数据探索性分析(EDA)

探索性数据分析(EDA)帮助我们理解数据的结构和潜在模式。

1. 销售总览

print(f"总销售额:{df['price'].sum():,.2f}")

2. 每月销售趋势

df['month'] = df['order_date'].dt.to_period('M')
monthly_sales = df.groupby('month')['price'].sum()

monthly_sales.plot(kind='line', marker='o', figsize=(10,5))
plt.title('每月销售额趋势')
plt.ylabel('销售额')
plt.xlabel('月份')
plt.grid(True)
plt.show()

3. 类别销量排行

category_sales = df.groupby('product_category')['price'].sum().sort_values(ascending=False)

sns.barplot(x=category_sales.values, y=category_sales.index)
plt.title('各类产品销售额分布')
plt.xlabel('销售额')
plt.ylabel('产品类别')
plt.show()

📊 第四步:数据可视化与洞察

可视化不仅能让数据更美观,还能揭示隐藏的规律。

1. 客户分布情况

top_customers = df.groupby('customer_name')['price'].sum().sort_values(ascending=False).head(10)

plt.figure(figsize=(10,6))
sns.barplot(x=top_customers.values, y=top_customers.index)
plt.title('Top 10 客户贡献销售额')
plt.xlabel('销售额')
plt.show()

2. 周销售模式

df['weekday'] = df['order_date'].dt.day_name()
weekday_sales = df.groupby('weekday')['price'].sum().reindex([
    'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'
])

plt.figure(figsize=(8,4))
sns.lineplot(x=weekday_sales.index, y=weekday_sales.values, marker='o')
plt.title('一周销售趋势')
plt.ylabel('销售额')
plt.xlabel('星期')
plt.grid(True)
plt.show()

📌 总结:Pandas 数据分析四步法

  1. 数据加载与查看:结构理解是第一步
  2. 数据清洗处理:干净的数据才值得分析
  3. 探索性分析(EDA):找出有趣的模式和假设
  4. 数据可视化:图表是最强表达力

🧠 延伸建议

  • 引入 PlotlyAltair 进行交互式可视化
  • 使用 scikit-learn 做进一步的预测分析(如销售预测)
  • 将分析结果部署为数据看板(如用 Dash、Streamlit)

📚 推荐资源

更多推荐