4 pandas模块,Series类

 
对gtx图像进行操作,使用numpy知识
 
如果让gtx这张图片在竖直方向上进行颠倒。
 
如果让gtx这张图片左右颠倒呢?
 
如果水平和竖直方向都要颠倒呢?
 
如果需要将gtx的颜色改变一下呢?
 
 
每隔5行数据取一行,列全取,显示的图片会如何呢?图片只剩一部分了
 
每隔5列取一列,行全取,显示的图片会如何?
 
马赛克一下?还可以更夸张地马赛克。
 
接近于岛国爱情动作片的马赛克了
 
还可以修改颜色值。
 
好了,接下来学习pandas模块了。
 
什么是pandas?
    · Python Data Analysis Library 或 pandas 是基于numpy的一种工具,该工具是为了解决数据分析任务而创建的
 
    · pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具(用excel打开一个500M的文件,非常耗时,更大的可能就打不开了)(用pandas可以打开2G的CSV格式的文件,CSV文件是可以用EXCEL打开的)。
 
    · pandas提供了大量能使我们快速便捷地处理数据的函数和方法
 
    · 它使Python成为强大而高效的数据分析环境的重要因素之一
        · Series 是一个类似数组的数据结构
        · DataFrame 数据框,类似于Excel,DataFrame组织数据,处理数据
    
 
Pandas的数据结构
    导入pandas:
 
    数据分析三剑客:numpy,serise,matplotlib
        
 
1、Series
    Series是一种类似于一维数组的对象,由下面两个部分组成:
 
        · values:一维数组(ndarray类型)
        · index:相关的数据索引标签
 
 
 
        1) Series的创建
            两种创建方式:
            (1)由列表或numpy数组创建
                    默认索引为0-n-1的整数型索引
                    第一列数值就是索引。
 
                    还可以通过设置index参数指定索引
                需要注意:索引的个数要和元素的个数对应,因为二者是一一对应的关系。
 
            nd如果是多维的该如何?

            报错了,说明Series中存放的数据必须是一维的。切记!
            特别的,由ndarray创建的是引用,而不是副本。对Series元素的改变会改变原来的ndarray对象中的元素。(列表没有这种情况)
 
 
        (2)由字典创建 
 
 
 
练习1:
使用多种方法创建以下Series,命名为s1
语文 150
数学 150
英语 150
理综 300
因为字典的元素是无序的,所以s1中的顺序就不一定是什么了。如果元素的顺序比较重要,就不要用这种方法了。
 
 
 
 
        2) Series的索引和切片
        可以使用中括号取单个索引(此时返回的是元素类型),或者中括号里一个列表取多个索引(此时返回的仍然是一个Series类型)。分为显式索引和隐式索引:
 
            (1)显式索引:
                    - 使用index中的元素作为索引值
                    - 使用.loc[](推荐)
                    
                    注意:此时是闭区间
 
 
            (2)隐式索引:
                    - 使用整数作为索引值
                    - 使用.iloc[](推荐)
                    
                    注意:此时是半开区间
 
 
 
            (3)切片
 
                    显式切片
 
                    隐式切片
 
 
 
        3) Series的基本概念
            可以把Series看成一个定长的有序字典
 
            可以通过shape,size,index,values等得到series的属性
 
                s.values的类型就是ndarray
                有了索引之后更方便
                百度就是网站的索引
 
                可以通过head()/tail()快速查看Series对象的样式,显式前/后几行。

 
  
                可见DataFrame是由Series组成的。
 
 
            当索引没有对应的值时,可能出现缺失数据显示NaN (not a number) 的情况

            二者不相等啊。
 
 
            可以使用pd.isnull()、pd.notnull()或自带isnull()、notnul()函数检测缺失数据

 
        因为null类型的数据是没有办法参与运算的,可以用如下方法把null类型的元素剔除掉。当数据量比较大的时候就用得着了,不能人工逐个判断了。
 
 
 
        Series对象及其实例都有一个name属性。
 
 
 
        4) Series的运算
 
            (1)适用于numpy的数组运算也适用于Series
                    如果 c、d 的NaN也想加上 10 可以尝试如下操作:
 
 
            (2)Series之间的运算
                    · 在运算中自动对齐不同索引的数据
                    · 如果索引不对应,则补NaN
 
 

      注意:想要保留所有的index,则需要使用.add()函数。

===========
练习:
    1:想一想Series运算和ndarray运算的规则有什么不同?
     2:新建另一个索引包含“文综”的Series s2,并与s2进行多种算术操作。思考如何保存所有数据。

原文地址:https://www.cnblogs.com/avention/p/9063555.html