初识 Pandas:Python 数据分析的利器

发布于:2025-05-17 ⋅ 阅读:(19) ⋅ 点赞:(0)

在数据分析、数据清洗和可视化等领域,Python 无疑是最受欢迎的语言之一,而在 Python 的数据处理生态中,Pandas 是最核心、最基础的库之一。如果你接触数据分析、机器学习、金融建模,或者只是想处理一些 Excel 表格,那么学会 Pandas 是你不可避免的一步。

本文将系统介绍 Pandas 的基础知识,包括其核心数据结构、常用功能和实际应用示例,帮助你打下坚实的 Pandas 基础。


一、Pandas 是什么?

Pandas 是一个基于 NumPy 构建的数据分析库,由 Wes McKinney 在 2008 年开发。Pandas 的目标是提供灵活、高效、易于使用的数据结构和数据分析工具。

Pandas 的名字来源于“panel data”,即经济学中的“面板数据”。


二、Pandas 的两大核心数据结构

1. Series:一维标记数组

可以理解为带标签的一维数组,可以存储任意类型的数据(整数、浮点数、字符串等)。

import pandas as pd

s = pd.Series([1, 3, 5, None, 6])
print(s)

输出:

0    1.0
1    3.0
2    5.0
3    NaN
4    6.0
dtype: float64

特点:

  • 自动生成索引(也可以自定义索引)

  • 支持缺失值(NaN)

  • 支持向量化操作

2. DataFrame:二维表格型数据结构

可以看作是由多个 Series 按列组成的二维表,类似 Excel 表格或者数据库表。

data = {
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 28],
    '城市': ['北京', '上海', '广州']
}
df = pd.DataFrame(data)
print(df)

输出:

   姓名  年龄  城市
0  张三  25  北京
1  李四  30  上海
2  王五  28  广州

三、读取与保存数据

Pandas 支持多种格式的数据读写:

# 读取 CSV 文件
df = pd.read_csv('data.csv')

# 写入 CSV 文件
df.to_csv('output.csv', index=False)

# 读取 Excel 文件
df = pd.read_excel('data.xlsx')

# 写入 Excel 文件
df.to_excel('output.xlsx', index=False)

# 读取 JSON 文件
df = pd.read_json('data.json')

四、常用操作

1. 查看数据

df.head()      # 查看前5行
df.tail(3)     # 查看后3行
df.info()      # 数据摘要信息
df.describe()  # 数据统计摘要

2. 选择数据

df['姓名']         # 选择一列
df[['姓名', '城市']]  # 选择多列
df.iloc[0]         # 按行号选择第1行
df.loc[1, '年龄']  # 按标签选取

3. 过滤数据

df[df['年龄'] > 27]  # 年龄大于27的行

4. 修改数据

df['年龄'] = df['年龄'] + 1  # 所有年龄加1
df.loc[0, '城市'] = '深圳'  # 修改单元格

五、缺失值处理

df.isnull()         # 判断缺失
df.dropna()         # 删除缺失值
df.fillna(0)        # 填充缺失值

六、分组与聚合(GroupBy)

grouped = df.groupby('城市')
print(grouped['年龄'].mean())  # 每个城市的平均年龄

七、合并与拼接

拼接(上下或左右)

pd.concat([df1, df2], axis=0)  # 纵向拼接
pd.concat([df1, df2], axis=1)  # 横向拼接

合并(类似 SQL 的 JOIN)

pd.merge(df1, df2, on='id', how='inner')

八、排序

df.sort_values(by='年龄')             # 按年龄升序
df.sort_values(by='年龄', ascending=False)  # 降序

九、应用函数

df['年龄'].apply(lambda x: x + 10)  # 每个年龄加10
df.applymap(str)  # 对整个 DataFrame 应用函数

十、实际案例:读取 CSV 并统计分析

假设我们有一个名为 sales.csv 的销售数据文件:

日期,销售额,地区
2023-01-01,1000,北京
2023-01-02,1200,上海
2023-01-03,800,广州
df = pd.read_csv('sales.csv')
print(df.groupby('地区')['销售额'].sum())

输出:

地区
上海    1200
北京    1000
广州     800
Name: 销售额, dtype: int64

结语

Pandas 是数据处理的瑞士军刀,无论你是分析师、数据科学家,还是工程师,都值得深入学习。本文只是入门介绍,实际应用中 Pandas 的功能远不止于此,比如时间序列分析、多重索引、高性能数据读取等。

下一步建议深入学习:


网站公告

今日签到

点亮在社区的每一天
去签到