news 2026/5/13 17:05:06

Pandas库基础概念和基础操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pandas库基础概念和基础操作

Pandas 是 Python 中用于数据分析和处理最流行的开源库之一,建立在 NumPy 之上,提供了高性能、易用的数据结构和数据分析工具。它特别适合处理结构化数据(如表格型或异质型数据)。以下是 Pandas 的基础概念详细介绍:


一、核心数据结构

Pandas 主要有两个核心数据结构:

1.Series

  • 一维带标签的数组,可以保存任何数据类型(整数、字符串、浮点数、Python 对象等)。
  • 类似于带索引的 NumPy 数组。
  • 每个元素都有一个对应的标签(称为 index)。
importpandasaspd s=pd.Series([1,3,5,7],index=['a','b','c','d'])print(s)

输出:

a 1 b 3 c 5 d 7 dtype: int64

特点:

  • 自动对齐索引(在运算时非常有用)
  • 支持向量化操作
  • 可以看作是字典和数组的结合体

2.DataFrame

  • 二维表格型数据结构,类似于 Excel 表格或 SQL 表。
  • 每列可以是不同的数据类型(但同一列内类型一致)。
  • 具有行索引(index)和列索引(columns)。
df=pd.DataFrame({'Name':['Alice','Bob','Charlie'],'Age':[25,30,35],'City':['New York','Paris','Tokyo']})print(df)

输出:

Name Age City 0 Alice 25 New York 1 Bob 30 Paris 2 Charlie 35 Tokyo

特点:

  • 列可命名,支持按列名访问(如df['Name']
  • 支持多种数据输入格式(字典、列表、NumPy 数组、CSV 文件等)
  • 提供丰富的数据操作方法(筛选、分组、合并、透视等)

二、基本操作

1.创建 DataFrame

  • 从字典、列表、NumPy 数组、CSV/Excel 文件等创建。
# 从 CSV 读取df=pd.read_csv('data.csv')# 从字典创建data={'col1':[1,2],'col2':[3,4]}df=pd.DataFrame(data)

2.查看数据

df.head()# 查看前5行df.tail(3)# 查看后3行df.info()# 显示数据概要(类型、非空值等)df.describe()# 统计摘要(均值、标准差、四分位数等)df.shape# 返回 (行数, 列数)

3.索引与选择

  • 按列选择
    df['Name']# 返回 Seriesdf[['Name','Age']]# 返回 DataFrame
  • 按行选择
    df.loc[0]# 按标签索引(第0行)df.iloc[0]# 按位置索引(第0行)df.loc[0:1,'Name':'City']# 标签切片

4.条件筛选

df[df['Age']>25]df[(df['Age']>25)&(df['City']=='Tokyo')]

注意:使用&|而不是andor,且条件需加括号。


三、数据清洗常用操作

1.处理缺失值

df.isnull()# 检查缺失值(返回布尔 DataFrame)df.dropna()# 删除含缺失值的行df.fillna(0)# 用0填充缺失值df.fillna(method='ffill')# 前向填充

2.去重

df.duplicated()# 检查重复行df.drop_duplicates()# 删除重复行

3.数据类型转换

df['Age']=df['Age'].astype('float')pd.to_datetime(df['date_column'])# 转换为日期时间

四、数据操作进阶

1.分组(GroupBy)

df.groupby('City')['Age'].mean()
  • 类似 SQL 中的GROUP BY
  • 支持聚合函数:sum(),mean(),count(),agg()

2.合并与连接

  • pd.concat():沿轴拼接多个 DataFrame
  • pd.merge():类似 SQL 的 JOIN 操作
pd.merge(df1,df2,on='key')

3.透视表(Pivot Table)

pd.pivot_table(df,values='Age',index='City',aggfunc='mean')

五、时间序列支持

Pandas 对时间序列有强大支持:

ts=pd.date_range('2025-01-01',periods=10,freq='D')df=pd.DataFrame({'value':range(10)},index=ts)df.resample('W').sum()# 按周重采样

六、性能与注意事项

  • 向量化优于循环:尽量使用内置方法而非 for 循环。
  • 避免链式赋值:如df[df.A > 2]['B'] = new_val可能引发警告,应使用.loc
  • 内存优化:对于大文件,可使用dtype参数指定列类型,或使用chunksize分块读取。

总结

概念说明
Series一维带标签数组
DataFrame二维表格结构,核心分析对象
Index行/列标签,支持快速查找和对齐
Vectorized Operations高效的批量计算
Data I/O支持 CSV、Excel、JSON、SQL 等多种格式

掌握这些基础概念后,你就可以高效地进行数据加载、清洗、探索和分析了。

如需进一步学习,可参考官方文档:https://pandas.pydata.org/docs/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 4:06:08

Langchain-Chatchat如何评估不同Embedding模型效果?

Langchain-Chatchat 如何科学评估不同 Embedding 模型效果? 在企业智能化浪潮中,一个反复出现的挑战是:如何让大模型真正“读懂”自家文档?通用语言模型虽然能写诗作曲,却对公司的报销流程、产品手册一无所知。于是&am…

作者头像 李华
网站建设 2026/5/12 17:45:43

【2026年精选毕业设计:基于多模态日程感知的校园智能待办助手小程序(含论文+源码+PPT+开题报告+任务书+答辩讲解)】

2026年精选毕业设计:基于多模态日程感知的校园智能待办助手小程序(含论文源码PPT开题报告任务书答辩讲解) 发布时间:2025-12-19 19:00 分类:毕业设计 / 微信小程序 / 人工智能 / 教育信息化 标签:微信小程序…

作者头像 李华
网站建设 2026/5/10 3:58:10

25、三维量子力学中的角动量与中心势问题解析

三维量子力学中的角动量与中心势问题解析 1. 三维量子力学中的角动量回顾 初涉量子力学的学习者,需明确量子物理里的角动量与经典力学中的定义有别。量子物理中的角动量算符(可观测量),其各分量的对易子需满足特定准则,除轨道角动量外,多数角动量算符并无经典对应。 1…

作者头像 李华
网站建设 2026/5/12 15:46:01

26、三维中心势问题的量子力学分析

三维中心势问题的量子力学分析 1. 波函数在极端 r 值下的行为 在量子力学中,了解波函数在 r 的极端值下的行为是很有帮助的。这里主要关注束缚态,但在原点附近,这种限制并非必要。 1.1 r 趋近于 0 时的波函数 通过考察径向的定态薛定谔方程(TISE),当 U(r) 对 r 的依赖…

作者头像 李华
网站建设 2026/5/11 23:38:35

28、量子物理中的势能与能级研究

量子物理中的势能与能级研究 1. 自旋 - 轨道耦合与简并能级 在量子物理中,简并的各向同性振子能级会受到自旋 - 轨道耦合的影响。例如,到 $n = 3$ 的简并能级会因自旋 - 轨道耦合而分裂,这种分裂机制有助于解释原子核的壳层结构。自旋 - 轨道耦合的“强”表现为其引起的能…

作者头像 李华
网站建设 2026/5/11 8:51:52

33、自旋 - 轨道耦合、原子核壳层模型与氦原子的量子态分析

自旋 - 轨道耦合、原子核壳层模型与氦原子的量子态分析 1. 狄拉克方程与氢原子能量 狄拉克方程具有相对论属性,必然包含相对论效应。求解狄拉克方程得到的氢原子量子化能量中,应包含源于电子自旋的项。狄拉克方程能量本征值的精确表达式为: [E_{nj} = m_ec^2 \left(1 + \…

作者头像 李华