前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >10 分钟掌握 Pandas 核心操作:从零开始的数据分析实战

10 分钟掌握 Pandas 核心操作:从零开始的数据分析实战

作者头像
统计学家
发布2024-10-25 15:03:57
发布2024-10-25 15:03:57
17800
代码可运行
举报
运行总次数:0
代码可运行

大家好,我是章北海

在数据分析领域,Pandas 是一个不可或缺的 Python 库。

本文将通过一个真实的销售数据分析案例,系统地介绍 Pandas 的核心操作。无论你是数据分析新手还是希望系统复习的老手,这篇文章都值得收藏。

一、项目背景

假设你是一家连锁店的数据分析师,需要处理和分析全国各地区的销售数据。数据分散在不同的文件中,包括:

  • 销售记录(CSV 格式)
  • 客户信息(JSON 格式)

我们的目标是将这些数据整合起来,进行清洗和分析,最终得出有价值的商业洞察。

二、数据准备

首先,让我们创建示例数据:

代码语言:javascript
代码运行次数:0
复制
# 创建示例 CSV 数据
sales_data = """
date,product,price,quantity,region
2024-01-01,A,100,5,North
2024-01-02,B,200,,South
2024-01-03,A,100,3,East
2024-01-04,C,300,4,West
2024-01-05,B,200,2,North
"""

# 创建示例 JSON 数据
customer_data = """
{
    "customers": [
        {"id": 1, "name": "张三", "region": "North"},
        {"id": 2, "name": "李四", "region": "South"}
    ]
}
"""

# 将数据保存到文件
with open('sales.csv', 'w') as f:
    f.write(sales_data)
    
with open('customers.json', 'w') as f:
    f.write(customer_data)

三、数据导入

Pandas 提供了丰富的数据导入功能,可以处理多种格式的数据文件:

代码语言:javascript
代码运行次数:0
复制
import pandas as pd

# 导入 CSV 格式销售数据
df_sales = pd.read_csv('sales.csv')

# 导入 JSON 格式客户数据
df_customers = pd.read_json('customers.json')

# 创建日期索引
date_range = pd.date_range(start='2024-01-01', end='2024-01-05', freq='D')

# 合并数据集
df_combined = pd.concat([df_sales, df_customers], axis=1)

四、数据清洗

数据清洗是数据分析中最重要的步骤,包括处理缺失值、数据转换等操作:

代码语言:javascript
代码运行次数:0
复制
# 1. 处理缺失值
df_sales = df_sales.fillna(0)  # 将缺失值填充为 0

# 2. 删除无效数据
df_sales = df_sales.dropna(how='all')  # 删除全为空的行

# 3. 数据排序
df_sales = df_sales.sort_values('price')  # 按价格排序

# 4. 数据转换
df_sales['total'] = df_sales.apply(lambda x: x['price'] * x['quantity'], axis=1)

# 5. 分组统计
region_stats = df_sales.groupby('region').agg({
    'total': 'sum',
    'quantity': 'count'
})

# 6. 数据合并
df_merged = df_sales.join(df_customers.set_index('region'), on='region')

# 7. 重命名列
df_sales = df_sales.rename(columns={'quantity': 'sales_volume'})

# 8. 设置索引
df_sales = df_sales.set_index('date')

五、数据统计分析

清洗完数据后,我们可以进行统计分析:

代码语言:javascript
代码运行次数:0
复制
# 1. 查看数据概览
print("数据前 5 行:")
print(df_sales.head())

print("\n数据基本信息:")
print(df_sales.info())

# 2. 基础统计
print("\n基础统计值:")
print(df_sales.describe())

# 3. 详细统计
print("\n具体统计指标:")
print("平均价格:", df_sales['price'].mean())
print("价格中位数:", df_sales['price'].median())
print("销量总计:", df_sales['sales_volume'].count())
print("价格标准差:", df_sales['price'].std())
print("最高价格:", df_sales['price'].max())
print("最低价格:", df_sales['price'].min())

六、分析结果示例

代码语言:javascript
代码运行次数:0
复制
数据前5行:
            product  price  sales_volume region  total
2024-01-01       A    100            5  North    500
2024-01-02       B    200            0  South      0
2024-01-03       A    100            3   East    300
2024-01-04       C    300            4   West   1200
2024-01-05       B    200            2  North    400

平均价格: 180.0
价格中位数: 200.0
销量总计: 5
价格标准差: 84.85
最高价格: 300
最低价格: 100

七、实战技巧总结

  1. 数据导入技巧
    • 使用适当的 read_*() 函数导入不同格式的数据
    • 合理使用 concat() 合并多个数据源
  2. 数据清洗要点
    • 始终检查并处理缺失值
    • 使用 groupby() 进行分组分析
    • 灵活运用 apply() 进行数据转换
  3. 统计分析方法
    • 先用 describe() 获取整体概览
    • 根据业务需求选择合适的统计指标
    • 注意异常值的处理

八、结语

本文通过一个完整的案例,展示了 Pandas 中最常用的数据处理操作。这些操作覆盖了数据分析工作中 90% 的日常需求。建议大家在实践中多加练习,熟能生巧。

记住,数据分析不仅仅是掌握这些技术操作,更重要的是培养数据思维,学会从数据中发现问题和洞察。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、项目背景
  • 二、数据准备
  • 三、数据导入
  • 四、数据清洗
  • 五、数据统计分析
  • 六、分析结果示例
  • 七、实战技巧总结
  • 八、结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档