
Python数据处理笔记03--pandas数据结构
发布日期:2021-05-08 02:54:19
浏览次数:22
分类:精选文章
本文共 2014 字,大约阅读时间需要 6 分钟。
声明:本文环境为Windows10+jupyter notebook,请自行下载安装Anaconda
引言:
Pandas是基于Numpy的一种工具,旨在解决数据分析任务。Pandas纳入了大量库和标准数据模型,为操作大型数据集提供了高效工具。Pandas提供了丰富的函数和方法,使数据处理更加快速便捷。Pandas由PyData开发团队继续开发和维护,最初作为金融数据分析工具开发,且对时间序列支持非常好。【Pandas库介绍】
Pandas是Python第三方库,提供高性能数据类型和分析工具,基于Numpy实现,常与Numpy和Matplotlib一同使用。Pandas有两大核心数据结构:Series(一维数据)和DataFrame(多特征数据)。》》Series:
Series是一维数组,与Numpy的array类似,但允许存储相同数据类型,提高了内存使用效率。Series与Numpy的一维数组相比,更适合处理标有索引的数据。》》Time-Series:
以时间为索引的Series。》》DataFrame:
带有行和列标签的二维表格型数据结构,可以看作是Series的容器。》》Panel:
三维数组,可以理解为DataFrame的容器。Series
Series是一维数组,包含数据和对应的索引。创建Series的函数为`pandas.Series(data, index, dtype, copy)`。Series创建方法:
1. 使用Python数组创建:`pd.Series([11,12], index=["北京","上海"])`。 2. 使用Numpy数组创建:`pd.Series(np.arange(3,6))`。 3. 使用字典创建:`pd.Series({"北京":11,"上海":12,"深圳":14})`。Series的特点:
- 字符串表现形式为:索引在左,值在右。 - 如果没有指定索引,默认创建0到N-1的整数索引。 - 可以通过`values`和`index`属性获取数组表示和索引对象。 - 支持通过索引方式选择单个或一组值。示例:
`obj = pd.Series([4,7,-5,3])` `obj[2]`返回单个值,`obj[[0,1,3]]`返回多个值。 `obj2 = pd.Series([4,2,-5,3], index=["a","b","c","d"])`,可以通过`obj2['a']`获取单个值。Series的重要功能:
- 支持索引对齐,能够在算术运算中自动处理不同索引的数据。 - Series本身及其索引都有`name`属性。DataFrame
DataFrame是一个表格型数据结构,包含有序的列,每列可以有不同的数据类型。DataFrame既有行索引也有列索引,可以看作由Series组成的字典。DataFrame中的数据以二维快存储,支持面向行和面向列的操作。DataFrame创建方法:
1. 从嵌套列表创建:`pd.DataFrame([[‘Alex’,10],[‘Bob’,12],[‘Clarke’,13]], columns=[‘Name’,‘Age’])`。 2. 从字典创建:`pd.DataFrame({‘state’: [‘Ohio’,‘Ohio’,‘Ohio’,‘Nevada’,‘Nevada’], ‘year’: [2000,2001,2002,2001,2002], ‘pop’: [1.5,1.7,3.6,2.4,2.9]})`。 3. 从Numpy数组或Series创建:`pd.DataFrame(data, columns=[‘year’,‘state’,‘pop’])`。DataFrame的特点:
- 列可以有不同的数据类型。 - 大小可变,行和列都有标签。 - 支持行和列的算术运算。 - 可以通过赋值方式修改列值。示例:
`frame2 = pd.DataFrame(data, columns=[‘year’,‘state’,‘pop’,‘debt’], index=[‘one’,‘two’,‘three’,‘four’,‘five’])` `frame2[‘debt’] = np.arange(5.0)` `frame2[‘eastern’] = frame2.state == ‘Ohio’`DataFrame的重要功能:
- 支持通过索引或列名获取对应的Series。 - 列可以通过赋值方式修改,新增或删除列也很简单。 - DataFrame支持转置和嵌套字典的创建。总结:
Pandas是数据分析的强大工具,Series和DataFrame分别处理一维和多维数据,支持高效的数据操作和算术运算。通过合理使用索引和列名,可以实现数据的灵活处理和可读性提升。发表评论
最新留言
表示我来过!
[***.240.166.169]2025年05月13日 02时10分36秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leetcode题解8-盛最多水的容器
2025-04-05
leetcode题解976-三角形的最大周长
2025-04-05
leetcode题解98-验证二叉搜索树
2025-04-05
LeetCode题解【打家劫舍】(中等难度)
2025-04-05
Leetcode题解(二)
2025-04-05
left join on、where后面的条件的区别
2025-04-05
left join right inner join 区别
2025-04-05
leftjoin多个on条件_MySQL:left join 避坑指南
2025-04-05
legend2---开发日志3(thinkphp的入口目录是public的体现是什么)
2025-04-05
legoblock秀上限
2025-04-05
LeNet介绍-ChatGPT4o作答
2025-04-05
LeNet剪枝
2025-04-05
Length of Last Word
2025-04-05
Lenovo E47A Ubuntu闪屏解决办法
2025-04-05
Leopard系统装好后不能从硬盘引导的朋友看过来
2025-04-05
Lepus搭建企业级数据库全方位监控系统
2025-04-05
LESS 中的变量有什么作用?如何声明和使用变量?
2025-04-05
Less 日常用法
2025-04-05
Lettuce 移动框架 for Romantic
2025-04-05
let、const、var的四点区别( 代码示例 )
2025-04-05