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

初识 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 竞赛

相关文章:

  • 七、MyBatis-Plus高级用法:最优化持久层开发
  • 力扣2094题解
  • Stream Deck纯软件实现高性价比平替
  • HTML5 定位详解:相对定位、绝对定位和固定定位
  • 《Python星球日记》 第63天:文本方向综合项目(新闻分类)
  • mac M2下虚拟机CentOS 8 安装上安装 Berkeley DB
  • 【网络安全】SQL注入
  • 【idea】快捷键ctrl+shift+F(Find in files)不起作用
  • 单片机Day10
  • springboot做junit单元测试详细步骤
  • ActiveMQ 高级特性:延迟消息与优先级队列实战(二)
  • FEKO许可证的安全与合规性
  • ArcGIS+InVEST+RUSLE:水土流失模拟与流域管理的高效解决方案;水土保持专题地图制作
  • 力扣-94.二叉树的中序遍历
  • 力扣HOT100之二叉树:101. 对称二叉树
  • 工业协议跨界实录:零基础玩转PROFINET转EtherCAT主站智能网关
  • 51c大模型~合集127
  • MySQL 8.0 OCP 1Z0-908 题目解析(1)
  • 使用 OAuth 2.0 保护 REST API
  • Swift实战:如何优雅地从二叉搜索树中挑出最接近的K个值
  • 老镇老宅楼:破旧,没产证,要不要更新?
  • 默茨首访聚焦欧洲,欲推欧洲防务自主
  • 重庆一高校75万采购市价299元产品?工作人员:正在处理
  • 宇数科技王兴兴:第一桶金来自上海,欢迎上海的年轻人加入
  • 巴基斯坦称对印精准打击造成设施损坏和人员伤亡
  • 湖南省职业病防治院通报3岁女童确诊“铊中毒”:去年病例,编辑误写为“近日”