当前位置: 首页 > ai >正文

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

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

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


一、Pandas 是什么?

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

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


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

1. Series:一维标记数组

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

import pandas as pds = 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 的功能远不止于此,比如时间序列分析、多重索引、高性能数据读取等。

下一步建议深入学习:

  • Pandas 官方文档:pandas documentation — pandas 2.2.3 documentation

  • 结合 Matplotlib/Seaborn 进行可视化

  • 实战项目练习,例如 Kaggle 竞赛

http://www.xdnf.cn/news/5525.html

相关文章:

  • 质控脚本来喽
  • Java设计模式之适配器模式:从入门到精通
  • 绝缘子缺陷检测数据集VOC+YOLO格式1566张3类别
  • lua入门语法,包含安装,注释,变量,循环等
  • spring boot3.0自定义校验注解:文章状态校验示例
  • 从攻击者角度来看Go1.24的路径遍历攻击防御
  • 数模分离颠覆未来:打造数字时代核心生产力引擎
  • 五、Hive表类型、分区及数据加载
  • 力扣HOT100之二叉树:101. 对称二叉树
  • 洛谷 P1955 [NOI2015] 程序自动分析
  • hdfs客户端操作-文件上传
  • LegoGPT,卡内基梅隆大学推出的乐高积木设计模型
  • 视觉-语言-动作模型:概念、进展、应用与挑战(下)
  • day18-数据结构引言
  • 【Python】UV:单脚本依赖管理
  • DVWA在线靶场-SQL注入部分
  • The Graph:区块链数据索引的技术架构与创新实践
  • maitrix-org/Voila-chat:端到端音频聊天模型
  • 如何判断IP是否被平台标记
  • 深入解读tcpdump:原理、数据结构与操作手册
  • YAFFS2 的 `yaffs_obj` 数据结构详解
  • JAVA EE_网络原理_数据链路层
  • R语言实战第5章(1)
  • 软考错题(四)
  • 小结:Syslog
  • 运用数组和矩阵对数据进行存取和运算——NumPy模块 之五
  • vue3+three 搭建平面上滚动旋转的几何体
  • 【深度学习】计算机视觉(18)——从应用到设计
  • 数据库笔记(1)
  • DeepWiki: Github的百科全书