对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进行多种算术操作。思考如何保存所有数据。

4 pandas模块,Series类的更多相关文章

  1. pandas学习series和dataframe基础

    PANDAS 的使用 一.什么是pandas? 1.python Data Analysis Library 或pandas 是基于numpy的一种工具,该工具是为了解决数据分析人物而创建的. 2.p ...

  2. 【学习】DataFrame&Series类【pandas】

    参考链接:http://blog.csdn.net/yhb315279058/article/details/50226027 DataFrame类: DataFrame有四个重要的属性: index ...

  3. pandas模块(数据分析)------Series

    pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. pandas的主要功能: 具备对其功能的数据结构DataFrame.Series 集成时间序列功能 提供丰 ...

  4. pandas模块常用函数解析之Series(详解)

    pandas模块常用函数解析之Series 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器输入网 ...

  5. Python数据分析 Pandas模块 基础数据结构与简介(一)

    pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二 ...

  6. python之pandas模块

    一.pandas模块是基于Numpy模块的,pandas的主要数据结构是Series和DadaFrame,下面引入这样的约定: from pandas import Series,DataFrame ...

  7. Python 数据处理扩展包: numpy 和 pandas 模块介绍

    一.numpy模块 NumPy(Numeric Python)模块是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list str ...

  8. 一句Python,一句R︱pandas模块——高级版data.frame

    先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas可谓如雷贯耳,数据处理神器. 以下符号: = ...

  9. Pandas模块:表计算与数据分析

    目录 Pandas之Series Pandas之DataFrame 一.pandas简单介绍 1.pandas是一个强大的Python数据分析的工具包.2.pandas是基于NumPy构建的. 3.p ...

随机推荐

  1. 如何扩大VMware中的ubuntu虚拟机的磁盘大小

    我是在VMware中安装的ubuntu. 最近虚拟机磁盘空间不够,需要扩展,在虚拟机中设置了扩展20G,然后在ubuntu中发现扩展的20G并不能用.... 正确的扩展方法是: 1.先在虚拟机中的se ...

  2. raid5什么意思?如何做raid5?raid5 几块硬盘?

    raid5什么意思?如何做raid5?raid5 几块硬盘? 分类: 项目管理2012-09-28 00:38 5326人阅读 评论(0) 收藏 举报 一.raid什么意思?RAID是“Redunda ...

  3. IDEA Spark Streaming 操作(套接字流)-----make socket数据源

    import java.io.PrintWriter import java.net.ServerSocket import scala.io.Source object DStream_makeSo ...

  4. Flink之Window Operation

    目录 Configuring Time Characteristics Process Functions Window Operators Applying Functions on Windows ...

  5. 当Table中td内容为空时,让它显示边框的办法

    1 在 table的css里面加 border-collapse:collapse; 在 td 的css里面加      empty-cells:show; border-collapse设置或检索表 ...

  6. E20170930-hm

    parse   vt. 从语法上描述或分析(词句等);

  7. kindeditor上传文件的使用

    在线富文本编辑器kindeditor配置(.Net Framework 3.5)   下载地址:http://kindeditor.net/down.php 解压放在项目要目录下, 在Bin目录下添加 ...

  8. mybatis多个参数查询问题

    一.话不多数,错误如下 Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException ...

  9. RabbitMQ死循环-延长ACK时间

    一.应用背景 今天做一个需求,要将RabbitMQ中的任务取出并执行,为防止任务执行期间出错,设置NO_ACK=FALSE标志,这样.一旦任务没有应答的话,相应的任务就会被RabbitMQ自动Re-Q ...

  10. $P2121 拆地毯$

    \(problem\) \(kruskal\)的模板题. #ifdef Dubug #endif #include <bits/stdc++.h> using namespace std; ...