Python Pandas库超详细教程:从入门到精通实战指南

Python——Pandas库,超详细教程

Pandas是Python数据分析的核心库之一,凭借其高效的数据结构和丰富的功能,成为数据科学家和分析师的必备工具。本教程将带你从入门到精通,掌握Pandas的核心功能,包括数据读取、清洗、转换、分析和可视化。


1. Pandas简介

1.1 什么是Pandas?

Pandas是一个开源的Python库,专为数据操作和分析设计。它诞生于2008年,由Wes McKinney开发,旨在解决Python在金融数据分析中的局限性。Pandas的名字来源于“Panel Data”(面板数据)。

  • 核心功能:提供SeriesDataFrame数据结构,支持数据清洗、转换、聚合和可视化。
  • 地位:与NumPy、Matplotlib并称Python数据分析“三剑客”。

1.2 为什么选择Pandas?

  • 高效性:针对结构化数据(如表格)优化,性能远胜纯Python代码。
  • 功能丰富:支持数据过滤、分组、聚合、合并等复杂操作。
  • 生态兼容:无缝集成NumPy(数值计算)、Matplotlib(可视化)等库。

1.3 安装与基本配置

# 安装
pip install pandas

# 导入与版本检查
import pandas as pd
print(pd.__version__)  # 输出示例:2.0.3
python 运行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2. Pandas核心数据结构

2.1 Series

一维带标签数组,类似增强版Python列表。

# 创建Series
s = pd.Series([1, 3, 5, 7], name='numbers')
print(s.head(2))  # 输出前两行
python 运行
  • 1
  • 2
  • 3
  • 索引:支持自定义索引(如s.index = ['a', 'b', 'c', 'd'])。

2.2 DataFrame

二维表格型数据结构,类似Excel表或SQL表。

# 从字典创建
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print(df.shape)  # 输出:(2, 2)
python 运行
  • 1
  • 2
  • 3
  • 4
  • 数据加载
    df = pd.read_csv('data.csv')  # 从CSV加载
    python 运行
    • 1

2.3 索引与选择数据

  • 列选择df['Name']
  • 行选择
    df.loc[0]    # 按标签选择
    df.iloc[0:2] # 按位置选择
    python 运行
    • 1
    • 2
  • 条件筛选
    df[df['Age'] > 25]  # 筛选年龄大于25的行
    python 运行
    • 1

3. 数据清洗与预处理

3.1 处理缺失值

# 检测缺失值
print(df.isnull().sum())

# 填充缺失值
df.fillna(0, inplace=True)  # 用0填充
python 运行
  • 1
  • 2
  • 3
  • 4
  • 5

3.2 处理重复数据

df.drop_duplicates(inplace=True)  # 删除重复行
python 运行
  • 1

3.3 数据类型转换

df['Age'] = df['Age'].astype('float')  # 转换为浮点数
python 运行
  • 1

3.4 数据标准化

# Z-score标准化
df['Age'] = (df['Age'] - df['Age'].mean()) / df['Age'].std()
python 运行
  • 1
  • 2

4. 数据操作与转换

4.1 数据排序

df.sort_values(by='Age', ascending=False, inplace=True)
python 运行
  • 1

4.2 数据分组与聚合

# 按性别分组并计算平均年龄
df.groupby('Gender')['Age'].mean()
python 运行
  • 1
  • 2

4.3 数据合并

# 横向合并
pd.concat([df1, df2], axis=1)

# 纵向合并
pd.concat([df1, df2], axis=0)
python 运行
  • 1
  • 2
  • 3
  • 4
  • 5

5. 数据分析与可视化

5.1 描述性统计

print(df.describe())  # 统计均值、标准差等
python 运行
  • 1

5.2 数据可视化

df['Sales'].plot(kind='bar')  # 绘制柱状图
plt.savefig('sales.png')      # 保存图表
python 运行
  • 1
  • 2

6. 高级功能与性能优化

6.1 时间序列分析

df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
df.resample('M').mean()  # 按月重采样
python 运行
  • 1
  • 2
  • 3

6.2 性能优化

  • 向量化操作:优先使用df.apply()而非循环。
  • 内存优化
    df.memory_usage(deep=True)  # 查看内存占用
    python 运行
    • 1

7. 实战案例

7.1 销售数据分析

sales = pd.read_csv('sales.csv')
sales['Profit'] = sales['Revenue'] - sales['Cost']
sales.plot(x='Month', y='Profit', kind='line')
python 运行
  • 1
  • 2
  • 3

7.2 股票数据分析

import yfinance as yf
data = yf.download('AAPL', start='2023-01-01')
data['MA50'] = data['Close'].rolling(50).mean()
data[['Close', 'MA50']].plot()
python 运行
  • 1
  • 2
  • 3
  • 4

8. 总结

  • 核心掌握:数据结构、数据清洗、聚合分析、可视化。
  • 学习资源
  • 实践建议:从真实数据集(如Kaggle)入手,逐步探索高级功能。

Python Pandas库超详细教程:从入门到精通实战指南-CSDN博客

 

posted @ 2025-09-08 10:03  CharyGao  阅读(1062)  评论(0)    收藏  举报