【有书共读】跟老齐学Python 读书笔记2

之前介绍Numpy的时候,相信大家已经看到其运算能力的强大了,但是如果对数据要进行存储、读取、分割和转换等操作,Python的Pandas库更加适合。

一、常用数据对象
Pandas中有3种数据对象——Series、DataFrame和Panel。Series用于保存一维数据,DataFrame用于保存二维数据,Panel自然而然用于存储三维类或可变维度的数据。
1.Seris
1.1创建
因为pandas库是基于numpy开发的,所以数据内容可以直接是numpy.array,不仅如此,如python自带的list和dict也能作为数据直接用于创建Series。
图片说明
从上述传入3种不同数据类型创建Series的例子中,我们可以看到Series显示得更加整齐,而且还多了一列索引,默认索引是从0开始的自然数,然而用dict对象创建的Series使用的索引是原dict对象的键,其实我们在创建Series的时候可以通过指定index参数的值,来自定义索引。
图片说明

1.2常用属性
既然我们能通过指定data参数和index参数分别传入Series的数据和索引,自然而然也能把他们再次取出来,通过values可以获取Series所有的数据,index可以获取索引。
图片说明
还有,我们如果待处理的数据一多,往往就会把他们弄混,这时候如果能为每个Series定义一个name就好了,恰好这个想法是Series已经实现的,而且不仅能为整个Series对象定义名字,而且还能为索引定义名字。
图片说明

1.3访问
Series的访问和list很像,可以通过中括号+索引访问,也可以通过“.索引值”去访问。
图片说明

2.DataFrame
生活中,我们接触得更多的应该是二维表,比如关系型数据库、Excel文件等等,都是二维结构,而DataFrame就是为了处理这样的数据而诞生的,其操作方法很多都和Series的类似。
2.1创建
DataFrame接收的数据类型和之前说的Series一样,能接受numpy.array、list和dict等等,而且也能指明index值。
图片说明
从上述DataFrame的输入我们可以发现,相比Series,DataFrame还多了个横向的索引,可以理解成我们矩阵中的列号,同纵向的索引类似,我们可以 通过columns对象获取列号,并对其进行进一步操作。
图片说明
2.2数据格式的转换
DataFrame处理通过初始化函数创建DataFrame,还能通过诸如from、from_dict、from_items和from_records等方法将对应的对象转换成DataFrame对象,因为操作和之前介绍的初始化函数效果一样,这里不再多说。
既然能够把其他格式的数据变成DataFrame对象,自然也能够还原过去,特别是我们进行一些需要提交csv文件的机器学习的比赛,pandas能够将我们处理后的结果直接导出成csv文件(这是我认为最常用的了),具体操作是调用函数to_csv,还可以通过下列函数转变成其他对象。
图片说明
3.Panel对象
三维的数据就好比我们所描述的空间坐标系,3维上的数据分别对应着items、major_axis和minor_axis。其他的主创建、访问都和前面的内容类似,因为不常用,这里不再过多的介绍。
图片说明

#笔记##读书笔记##Python##内推#
全部评论

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务