首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python笔记:Pandas数据处理

Pandas是Numpy基础上建立的新数据库,提供了一种高效的DataFrame数据结构。DataFrame本质上是一种带行标签(index)和列标签(columns)、支持相同类型数据和缺失值的多维数组。

Pandas 可以看成是增强版的NumPy结构化数组,行列都不再只是简单的整数索引,还带上了标签。这样不仅为带各种标签的数据通了便利的存储界面,还实现了许多强大的操作。

1,导入

和之前导入NumPy并使用别名一样,我们将导入Pandas并使用别名pd:

我们首先要了解Pandas的三个基本数据结构,Series,DataFrame和Index。

2,Pandas的Series对象

Pandas的Series对象是一个带索引数据构成的一维数组,可以用一个数组创建Series对象

由上可以发现,Series对象将一组数组和一组索引绑定在一起,我们可以通过values属性和index属性获取数据。

和NumPy数组一样,数据可以通过Python的中括号索引标签获取

Numpy数组通过隐式定义的整数索引获取数值,而Pandas的Series对象用一种显式定义的索引与数值关联。

显式索引的定义让Series对象拥有了更强的能力,例如,索引不再仅仅是整数,还可以是任意想要的类型,如果需要,完全可以用字符串定义索引。

我们可以认为,Pandas的Series对象是一种特殊的字典,index对应字典的key,values对应字典的values。

现在我们用python的字典直接创建一个Pandas的Series对象,使得Series对象与字典的对比更加清晰

用字典创建Series对象时,典型的字典数值获取方式仍然有效

和字典不同之处在于,Series对象还支持数组形式的操作,如切片

3,Pandas的DataFrame对象

DataFrame对象也可以看做是特殊的python字典

如果将Series类比为带灵活索引的一维数组,那么DataFrame就可以看作是一种既有灵活的行索引,又有灵活的列名的二维数组,

我们可以将DataFrame看成是有序排列的若干Series对象。

DataFrame也有一个index属性可以获取索引行标签,还有一个columns属性用于获取索引列标签。

与Series类似,我们也可以吧DataFrame看成一种特殊的字典,字典是一个键映射一个值,而DataFrame是一列映射一个Series的数据。

4,Pandas的Index对象

Series和DataFrame对象都使用便于引用和调整的显示索引,而Pandas的Index对象则不同,Index对象的索引是不可变的,我们可以将它看作是一个不可变数组或有序集合。

Index对象的不可变特性使得多个DataFrame和数组之间进行索引共享时更加安全,尤其是可以避免因修改索引时粗心大意而导致的副作用。

Pandas对象设计用于实现许多操作,如连接(join)数据集,其中会涉及许多集合操作,Index对象遵循Python标准库的集合(set)数据结构的许多习惯用法,包括并集,交集,差集等。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201016A01QMS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券