作者: seo

  • WPS office电脑版的下载的网址在哪里

        开始讲解之前,我们需要有数据,而我们这里使用的也是经典的数据集—-Titanic数据集,关于数据集的下载,大家可以通过Kaggle自行下载。数据集下载

      数据包括三部分:训练集、测试集和一个用于检测准确性的数据集。

        探索性分析就是在数据处理前对数据有个全面的了解,探索性分析的目的如下:

      快速描述一份数据集:行/列数、数据的类型、数据预览。脏、差数据分析:数据丢失情况、异常数据、无效的数据类型和不正确的值情况分析。可视化数据分布:条形图,直方图,箱型图等。了解变量之间的相关性(关系):为后续分析做基础

        探索性分析我们从两个方面讲解,分别是数据质量分析和数据特征分析。

        数据质量分析是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础。只有可信的数据才能保证数据挖掘的可靠。

        如果数据质量不高,则会影响数据挖掘的结果。一般数据的预处理包括异常点检测,噪声数据检测,缺失值的处理和重复数据的处理。我们这里主要介绍缺失值和异常值分析。

      1.缺失值

      查看缺失情况

        在搜集数据的某些情况下,有些时候并不一定会收集到数据,因而会造成观测值或变量的数据有缺失,这些缺失的数据就称之为缺失值。缺失值有可能是因为某些原因没有收集到信息,也有可能是对于这些个体来说这些属性是不可用的。我们分析缺失值只要有下面三个目的。

      1. 明确存在缺失值的属性有哪些?

      2. 明确每个属性(特征)缺失的数量是好多?

      3. 明确 缺失率是多少?

        我们结合上面三点,使用实际的例子讲解。

      在这里插入图片描述

        从分析结果来看,存在缺失值的属性有两个,分别是Age和Cabin,对于Age属性,缺失177条数据,缺失率在20%左右;而对于Cabin属性,缺失687条数据,缺失率几乎达到80%。

      缺失值处理

      删除:删除的情况适用于缺失率很小(5%以下)或者很大(80%以上),但个人建议还是能不删除的不删除,毕竟数据带有一些价值,当然,确定无用的直接删除没得关系。

      data.dropna():可以删除行,也可以删除列,可以设置有多少缺失删除

      替换:替换前要考虑缺失在业务上的含义,缺失是否对后续有影响,然后利用缺失变量的均值、中位数或众数替换该变量中的缺失值;或者使用其他列/行的数据填充。其好处是缺失值的处理速度快;弊端是易产生有偏估计

      data.fillna()/data[].fillna():可以全数据一起填充,也可以单列填充wps免费版下载的网站

      插补:利用有监督的机器学习方法(如回归模型、树模型、网络模型等)对缺失值作预测。其优势在于预测的准确性高;缺点是需要大量的计算,导致缺失值的处理速度大打折扣

      KNN填充:

      数据源这样:

      在这里插入图片描述

      随机森林填充:

       

      随机森林算法填充的思想和knn填充是类似的,即利用已有数据拟合模型,对缺失变量进行预测。

       总之,处理缺失值是需要研究数据规律与缺失情况来进行处理的,复杂的算法不一定有好的效果,因此,还要具体问题具体分析,尤其是要搞明白字段含义以及缺失意义,这往往容易被忽略。个人经验,数据处理需要去探索,没有一成不变的万全之策。

      2.异常值

        异常值是指样本中的个别值,其数值明显偏离它(或他们)所属样本的其余观测值。

      异常值检测(查看)

      简单方法:

        对于异常值的最简单方法就是使用pandas库的describe(),此方法简单,但是只是看个大概,代码如下:

      在这里插入图片描述

      3∂原则方法

      正态分布的3σ原则为:数值分布在(μ-σ,μ+σ)中的概率为0.6827;数值分布在(μ-2σ,μ+2σ)中的概率为0.9545;数值分布在(μ-3σ,μ+3σ)中的概率为0.9973,可以认为,Y的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%。称为小概率事件,也可以说是异常数据。

        我们还是直接使用上面例子数据的Age字段,计算其3σ区间,代码如下:

       从结果来看,区间范围是-13.84, 73.24,但是我们知道对于年龄来说,不可能是负数,所以,实际中还是要考虑特征的实际意义来判定是否是异常值。不能只单一的使用某个理论方法判定。

      箱型图

        箱型图是根据数据的四分位对数据进行的判定规则,具体定义如下:

      异常值通常被定义为小于QL-1.5IQR或大于QU+1.5IQR的值。QL称为下四分位数,表示全部观察值中有四分之一的数据取值比它小;QU称为上四分位数,表示全部观察值中有四分之一的数据取值比它大;IQR称为四分位数间距,是上四分位数QU与下四分位数QL之差,其间包含了全部观察值的一半

        箱型图作为图,那必然是需要作图直观的反应异常值的,作图代码如下:

      在这里插入图片描述

        除了上面介绍的三种基于分布的方法,还有使用算法基于距离的异常值判定,比如:使用KNN算法,依次计算每个样本点与它最近的K个样本的平均距离,再利用计算的距离与阈值进行比较,如果大于阈值,则认为是异常点。优点是不需要假设数据的分布,缺点是仅可以找出全局异常点,无法找到局部异常点。或者是基于密度的LOF算法,但wps 的官网下载入口怎么找(wps下载电脑版官网下载)总有缺点。

       总之,还是那句话,数据异常值的判断都必须基于业务考虑,业务上合理的,在数据表现上再异常,它也是个正常数据。

      异常值处理

        异常值的处理也是根据实际业务和选用的算法模型相关,这里只给出简单的、可能的处理思路。

      删除含有异常值的记录视为缺失值:将异常值视为缺失值,按照缺失值进行处理平均值修正:可用前后两个观测值的平均值修正该异常值不处理:不直接在具有异常值的数据集上进行数据挖掘

      1.分布

        分布分析,研究数据的分布特征和分布类型,分为定量数据和定性数据。现在就两种数据的分布分析做如下的简要介绍和讲解。

      定量数据

        对于定量变量而言,做频率分布分析是最重要的问题,一般按照以下步骤进行。还是以年龄特征为例。

      求极差

      data[“Age”].max() – data[“Age”].min()

      79.58

      决定组距和组数

      组距根据实际业务决定,组数 = 极差 / 组距

      data[“Age”].hist(bins=12)

      在这里插入图片描述

      决定分点列出频率分布表

      绘制频率分布直方图

      在这里插入图片描述

      定性数据

        对于定性数据(分类数据)而言,常常根据变量的分类类型来分组,可以采用饼图和条形图来描述定性变量的分布。

        我们使用上面例子中的Sex特征,做一个饼图,用来研究性别的分布,实现如下:

      在这里插入图片描述

      2.对比

        对比分析就是用两组或两组以上的数据进行比较,是最通用的方法。我们知道孤立的数据、图像没有意义,有对比才有差异。比如在时间维度上的同比和环比、增长率、定基比,与竞争对手的对比、类别之间的对比、特征和属性对比等。对比法可以发现数据变化规律,使用频繁,经常和其他方法搭配使用,这里不加赘述。

        比如性别之间的存活率差异、船票等级之间的存活率差异:

      在这里插入图片描述

      3.统计量分析

        对于定量数据,通常需要对其进行统计量分析,通常使用前面介绍的describe()分析,一些特殊的数据使用单独统计分析。

        这里关于统计量分析不做过多的赘述wps的的官网最新的下载地方在哪。

      4.周期性分析

      周期性分析:是探索某个变量是否随着时间变化呈现某种周期性的变化趋势

        可大致分为:年度周期性分析;季节周期性分析;月周期性分析,或者跟小周期的趋势。

      5.贡献度分析

      贡献度分析:又称帕累托分析或者2/8分析。

      比如常说的80%的利润是由20%的产品创造

        该种分析方法,常用来筛选重点产品,然后重点关注

      6.相关性

      相关性分析:

      是指对两个或者多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度,且相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。

        判断两个变量是否具有线性相关关系的最直观的方法是直接绘制散点图。

      在这里插入图片描述

        但是当考虑的变量较多时,画散点图往往太麻烦,就可以利用散点图矩阵来分析。

      定量数据相关性

       定量数据相关性分析大致步骤如下:

      找出两个变量的正确相应数据。画出散点图,通过散点图判断相关性。散点图有线性趋势时,计算相关系数对结果进行评价和检验

      代码示例如下:

      在这里插入图片描述

        另外,关于两个相关系数的数学公式如下:wps的的官网的下载的地方在哪

      在这里插入图片描述

      其中,r的取值是[-1,1],又如下规定:

       r的绝对值<= 0.3   不存在线性相关

       0.3<r<=0.5   低线性相关

       0.5<r<=0.8   显著线性相关

       r>0.8  高度线性相关

        判定系数:(r^2)它是相关系数的平方,也就是常用来评估回归方程的指标。

       需要注意的是,皮尔逊相关系数是基于数据正态分布的假设,而斯皮尔曼则没有这个限制。

      定性数据相关性

      在这里插入图片描述

        数据取样也叫做数据抽样,那为什么要进行数据抽样呢?试想一下,我们有1000w+的数据,直接使用这些数据进行数据分析,会很费时,那就需要挑一些代表性的数据进行分析,这就是抽样;还有一种情况是,正负比例9:1,这样的数据进行后续的算法分析时,很难得到正确的分析结果,也要用到抽样。

        对于抽样来说,有很多种方法,我们就简单个做个总结:

      随机抽样:是指将调查总体的观察个体全部编号,再随机抽取部分观察个体,组成样本。

      优点:由于总体中每个单位都有同等机会被抽中,所以在样本推论总体时,可用概率的方式客观地判断估计值的可靠程度。

      缺点:总体较大时,难以一一编号。

      分层抽样:是先把要研究的总体按照某些行政分类,再在各类中分别抽取样本。比如:按照教育程度把感兴趣的人群分成几类,再在每一类中调查和该类成比例数目的人,以确保每一类都有相应比例的代表。

      优点:样本代表性好,抽样误差减小

      缺点:抽样过程繁杂

      整群抽样:指先把总体分成若干群,再从这些群中抽取几群,然后再在这些抽取的群中对个体进行简单的随机抽样。

      优点:便于组织,节省经费

      缺点:抽样误差大于单纯随机抽样

      整群抽样: 这里要和分层区分开,群是包含所有类型样本的,而层只包含了一类(个人理解)

      系统抽样(等距抽样):是先把总体中的每个单元编号,然后随机选取其中之一,作为抽样开始点进行抽样。在选取开始点之后,通常从开始点开始控制编号,进行所谓等距抽样。由于开始点随机,如果编号随机,所以系统抽样类似于随机抽样。

      优点:易于理解,简便易行

      缺点:总体有周期或者增减趋势时,容易产生偏差。

        这里说的数据清洗,包括缺失数据处理、异常数据处理、重复数据处理,这些再前面讲解探索性分析时已经说明,这里就不再赘述。

        数据变换主要是对数据进行规范化处理,将数据转换成“适当的"形式,以适用于挖掘任务及算法的需要。

        数据变换主要有下面四种,分别是**简单的函数变换、数据规范化、数据离散化和属性构造。**下面,将一一详细介绍。

      1.简单函数变换

        函数变换主要是对数据形式的改变,比如下面几种函数变换:

      在这里插入图片描述

        上边的几种变换中,对数变换是常用的一种变化形式,比如右偏的数据经过对数变换后,数据类似正态分布了,更适合进行数据挖掘。

      2.数据规范化

        数据规范化使属性数据按比例缩放,这样将原来的数值映射到一个新的特定区域中。常用的方法有最小—最大规范化,Z-score规范化,按小数定标规范化。

      max-min标准化

      可以将数据转换到[0,1]范围内,但是由于采用了数据集的数据特征,所以需要再标准化前做好异常值剔除。计算公式如下:

      在这里插入图片描述

      Z-score规范化

      Z-score标准化是一种最为常见的量纲化处理方式。其计算公式为:

      在这里插入图片描述

      小数定标规范化

      这种方法通过移动数据的小数点位置来进行标准化。但是对于有异常值的数据需要先处理。

      3.数据离散化

        将连续属性离散化成若干组能够满足数据挖掘的要求,主要的方法有以下几种,我们还是使用前面例子数据,把年龄字段进行离散化处理。

      等宽法:将数据填入等分的区间,类似频率分布

      等频法:将数据按照百分比填入不同区间

      基于聚类方法

       该方法是基于无监督KMeans聚类算法衍生而来的分箱方法,关于KMeans聚类算法这里不再赘述。

       关于实际中选择数据分箱选择等宽还是等频,要按实际来,它们各自的特点如下:

      等宽易造成不同区间中样本数量不一致的情形

      等频易造成数值相近的wps 的官网最新下载网站是什么样本被分到不同区间的情况

      4.属性构造

        顾名思义,就是创造新的变量,当然这个基于你对业务的理解程度。一个好的衍生变量不管是对于模型还是实际业务都有很重要的意义(当然,不好找真正有意义的衍生变量)。

        这里不再对衍生变量做更多的解释,后面使用数据实际分析时,慢慢引入。

  • wps电脑版的下载的网站是多少

      python数据分析——wps office免费版下载网站是多少(wps下载电脑版下载什么软件) pandas1.模块导入2. Series对象的创建和索引3 DataFrame的创建及相关属性4 DataFrame修改索引、添加数 wps的免费版下载的地址在哪里据及删除数据4.1 DataFrame修改index columns4.2 添加数据4.3 删除数据5 数据处理6 数据合并7 多层索引8 时间序列9 分组聚合10 读取、写入 Excel11 获取数据库中的数据WPS office的电脑版下载的网站的方法
    wps office 官方的下载的网站(wps下载电脑版要钱吗安卓版)
      1.模块导入
    wps官网的下载的网址是什么
      import pandas as wps的官网下载的网址在哪 pdwps office 官方下载的网址是多少

      from pandas import Series,DataFrame

      impor

  • wps 的官网最新下载的地方在哪里

      前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。wps的的官网下载入口是什么

      点击跳转到网站:人工智能从入门到精通教程

      本文电子版获取方式:

      我用夸克网盘分享了「Python数据分析(4):jieba分词详解.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。wps office免费版的下载的方法是什么

      链接:https://pan.quark.cn/s/08bd6625949a

      提取码:ZinR

      jieba分词器提供4种分词模式,并且支持简体/繁体分词、自定义词典、关键词提取、词性标注。

      (1)精确模式

      该模式会将句子最精确地切分开,适合在文本分析时使用。

      (2)全模式

      该模式会将句子中所有成词的词语都扫描出来,速度也非常快,缺点是不能解决歧义问题,有歧义的词语也会被扫描出来。

      (3)搜索引擎模式

      该模式会在精确模式的基础上对长词再进行切分,将更短的词语切分出来。在搜索引擎中,要求输入词语的一部分也能检索到整个词语相关的文档,所以该模式适用于搜索引擎分词。

      (4)Paddle模式

      该模式利用PaddlePaddle深度学习框架,训练序列标注网络模型实现分词,同时支持词性标注。该模式在4.0及以上版本的jieba分词器中才能使用。使用该模式需要安装paddlepaddle模块。

      在Python中,可以使用jieba模块的cut()函数进行分词,返回结果是一个迭代器。

      cut()函数有4个参数:

      第一个参数:待分词文本cut_all:设置使用全模式(True)还是精确模式(False); 默认Falseuse_paddle:控制是否使用Paddle模式进行分词HMM:控制是否使用HMM模式识别新词

      (1)三种模式案例

      设置参数cut_all为True:全分词

      设置参数cut_all为False:精确分词

      cut_all参数不给定时,默认为false,即精确分词

      use_paddle参数可以设置开启paddle模式

      (2)词性标注

      image-20211215163657726

      (3)识别新词:HMM参数

      HMM参数设置为True,可以识别新词,即词典中不存在的词。

      词典为jieba分词自带的字典 wps office 的官方的下载网站是什么。

      如下:他知

      (4)搜索引擎模式分词:cut_for_search()函数

      cut_for_search()函数可以进行搜索引擎模式分词

      该函数只有两个参数:

      第一个参数:待分词文本第二个参数:HMM,默认为True

      用户也可以自己生成一个自定义词典,包含jieba分词自带字典中没有的词语,添加到程序中。比如:

      image-20211215163733067

      注意:词频、词wps office 官方的下载网址是多少性可省略wps的的官网的下载的地方是多少。

      未加载自定义字典时使用精确切分来进行分词

      (1)使用自定义词典:load_userdict()函数

      load_userdict()函数加载用户自定义字典

      (2)动态修改词典:add_word()、del_word()函数

      1. 动态添加词:add_word()

      2.动态删除词:del_word()

      (3)调节词频:suggest_freq()函数

      不修改词频前:

      修改词频后:

     wps office免费版下载的入口在哪里 从文本文件中提取关键词的理论方法主要有两种:

      第一种是有监督的学习方法,该方法将关键词的提取视为一个二分类问题,要么是关键词,要么不是

      第二种是无监督的学习方法,该方法对候选词进行打分,大风范最高的候选词为关键词

      常见的打分算法有TF-IDF和TextRank。

      (1)基于TF-IDF算法的关键词提取:extract_tags()函数

      extract_tags()函数能基于TF-IDF算法提取关键词

      该函数有四个参数:

      sentence:待提取关键词的文本topK:关键词数withWeight:是否返回权重allowPOS:指定筛选关键词的词性;默认不分词性

      基于TF-IDF算法的关键词提取

      (2)基于TextRank算法的关键词提取:textrank()函数

      textrank()函数能基于TextRank算法提取关键字

      两种方法的区别是默认提取的词性不同

      当然算法不同,结果可能有差异

      基于TextRank算法的关键词提取

      停用词:“你”、“我”、“的”、“在”及标点符号等大量出现但非关键词的词。

      我们可以把它们过滤掉

      启动停用词过滤前:

      为了过滤停用词,需要有一个停用词词典。

      我们可以自己制作停用词词典,停用词词典的内容是根据NLP的目的变化的。

      如果制作太慢,可以百度下载一个停用词词典,稍作修改成自己想要的。如下:

      wps office免费版下载的地方的方法 wps的的官网最新的下载的网站在哪image-20211215163754231

      启动停用词过滤后:

      注意:我们根据不同的编码方式,修改encoding参数

  • wps官网最新下载网址在哪(wps官网最新在哪打开)

      前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。

      点击跳转:人工智能从入门到精通教程

      本文电子版获取方式:

      我用夸克网盘分享了「Python数据分析(3):pandas.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。

      链接:https://pan.quark.cn/s/cabd5f5b4c84

      提取码:tFdk

      pandas有两个重要的数据结构对象:Series和DataFrame

      2.1.1 wps office免费版的下载的网址怎么找 Series对象

      Series是创建一个一维数组对象,会自动生成行标签。

      index参数可以指定行标签

      使用Series对象还可以基于字典创建数据

      2.1.2 DataFrame对象

      会自动生成行列标签

      可以columns参数指定列标签;index参数指定行标签

      例:也可以用字典形式生成数wps的免费版下载的网站怎么找据

      例:在用字典生成数据的基础上,同时指定行标签

      2.2.1 读取Excel:read_excel()

      1. 读取特定工作簿:sheet_name

      例如对下表的数据进行读取

      

      4月是第四个表,我们应把sheet_name参数指定为3;因为索引是从0开始的。

      可以看出read_excel()函数自动创建了一个DataFrame对象,同时自动把第一行数据当做列标签。

      2. 指定列标签:header

      可以看出不给出header参数时,该参数默认为0。

      header=1时结果如下:

      header=None时结果如下:

      3. 指定行标签:index_col

      该参数默认为None

      index_col=0时,第0列为列标签

      index_col=1时

      4. 读取指定列:usecols

      usecols=[2]:指定第二列

      指定多列

      2.2.2 读取csv:read_csv()

      在这里插入图片描述

      nrows参数可以指定显示的行数

      2.3.1 查看前几行:head()

      head()函数中参数为空默认前5行

      例:指定head(3)时如下

      2.3.2 查看行数和列数:shape

      2.3.3 查看数据的类型:info()、dtype、astype()

      1. info()函数

      2. dtype参数

      例:查看特定列的书库类型

      3. astype()函数

      例:特定列的数据类型转换

      2.4.1 选择行:loc()、iloc()

      1. 挑选单行

      loc()函数加行标签指定行

      iloc()函数加索引指定行号

      2. 挑选多行

      iloc()挑选:

      或者给出区间

      3. 挑选满足条件的行

      2.4.2 选择列数据:iloc()

      1. 挑选单列

      2. 挑选多列

      例:通过列标签挑选多列

      例:通过索引挑选多列

      或者写成区间

      2.4.3 同时选择行列数据

      例:通过标签挑选

      例:通过索引挑选

      先查看一下数据

      set_index()设置行标签

      例:字典一对一修改

      columns、index参数分别修改列、行标签

      3.1.1 查找:isin()

      在这里插入图片描述

      例:isin()函数查看表中是否有该值

      例:查看特定列是否有某值

      3.1.2 替换:replace()

      可以看出上述代码并没有替换,那怎么替换呢?

      1. 一对一替换

      2. 多对一替换

      3. 多对多替换

      3.2.1 插入:insert()

      例:末尾插入一列

      例:指定插入到哪列

      3.2.2 删除:drop()

      axis参数可以指定删除行还是删除列

      1. 删除列

      例:指定标签删除

      例:指定索引删除

      方法三

      2. 删除行

      例:指定行标签删除

      例:指定索引删除

      方法三:

      3.2.3 处理缺失值:isnulll()、dropna()、fillna()

      info()函数查看数据类型,还可以查看是否有缺失值

      1. 查看缺失值:isnull()

      isnull()函数查看是否有缺失值;在numpy模块中用isnan()函数

      2. 删除缺失值:dropna()

      例:删除有缺失值的行

      例:删除整行都为缺失值的行WPS office官网最新的下载的地方在哪里,需要指定how参数

      3. 缺失值的填充:fillna()

      例:不同列的缺失值设置不同的填充值

      3.2.4 处理重复值:drop_duplicates()、subset、unique()

      1. 删除重复行:drop_duplicates()

      2. 删除某一列的重复值:subset

      默认保留第一个重复值所在的行,删除其他重复值所在的行

      保留第一个重复值所在的行

      保留最后一个重复值所在的行

      是重复的就删除

      3. 获取唯一值:unique()

      3.2.5 排序数据:sort_values()、rank()

      1. sort_values()

      例:降序如下

      2. rank()

      参数指定first时,表示在数据有重复值时,越先出现的数据排名越靠前

      3.2.6 筛选数据

      获取产品为单肩包的行数据

      获取数量>60的行数据

      获取产品为单肩包 且 数量>60 的行数据

      获取产品为单肩包 或 数量>60 的行数据

      3.3.1 转置表的行列:T

      3.3.2 将表转换成树形结构:stack()

      例:stack()函数转换成树形结构

      3.3.3 表的拼接:merge()、concat()、append()

      1. merge()wps官网的下载网址怎么找(wps官网下载免费吗安全吗)

      how参数指定外连接

      on参数指定按哪一列合并

      2. concat()

      concat()函数采用全连接的方式,没有的数设置为缺失值

      重置行标签

      3. append()

      效果与concat()全连接一样

      末尾添加行元素

      3.4.1 统计运算:sum()、mean()、max()

      1. 求和:sum()

      例:指定列求和

      2. 求平均值:mean()

      例:指定列求均值

      3. 求最值:max()

      例:指定列求最值

      3.4.2 获取数值分布情况:describe()

      例:获取单列的情况

      3.4.3 wps的官网下载入口在哪计算相关系数:corr()

      corr()函数获取相关系数

      例:获取指定列与其他列的相关系数

      3.4.4 分组汇总数据:groupby()

      在这里插入图片描述

      groupby()函数返回的是一个DataFrameBy对象,该对象包含分组后的数据,但是不能直观地显示出来。

      分组后获取指定列的汇总情况

      获取多列的汇总情况

      3.4.5 创建数据透视表:pivot_table()
    wps免费版的下载的入口在哪里
      values参数用于指定要计算的列index参数用于指定一个列作为数据透视表的行标签aggfunc参数用于指定参数values的计算类型
    wps office 官方的下载网址怎么找
      获取多列的情况

  • wps office免费版下载网站

      前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。

      点击跳转到网站:人工智能从入门到精通教程

      本文电子版获取方式:

      我用夸克网盘分享了「Python数据分析(2):numpy.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。

      链接:https://pan.quark.cn/s/6bad73303f06

      提取码:AFu9

      1.1.1 数组:array()

      一维数组情况:

      二维数组情况:

      参数见下表

      参数说明object必选,为一个序列型对象,如列表、元组、集合等,还可以是一个已创建好的数组dtype可选,用于指定数组元素的数据类型copy可选,用于设置是否需要复制对象order可选,用于指定创建数组的样式subok可选,默认返回一个与基类的类型一致的数组ndmin可选,用于指定生成数组的最小维度

      1.1.2 等差数组:arange()

      索引从0开始,记左不记右

      3参数情况:

      2参数情况:

      1参数情况:

      参数说明见表

      参数说明start可选,表示起始值。省略时默认为0stop必选,表示结束值。生成的数组元素不包括该值step可选,表示步长。省略时默认为1WPS office的官网最新下载的网站怎么找。给出该参数则必须给出start参数dtype可选,表示数组元素类型wps官网最新的下载入口。默认为None

      1.1.3 随机数组:rand()、randn()、randint()

      1. rand()函数:生成元素值在[0,1)区间的随机数

      一维情况:wps office的免费版的下载的地方在哪里

      二维情况:

      2. randn()函数:生成元素值在[0,1)区间的随机数,且符合标准正态分布

      一维情况:

      二维情况:

      wps的官网下载的网站的方法3. randint()函数:生成指定范围的随机数,记左不记右

      一维情况:

      二维情况:第三个参数指定维度

      1.2.1 行列数 :shape

      只查看行数、或者列数

      1.2.2 元素个数:size

      1.2.3 元素的数据类型:dtype

      1.2.4 转换元素的数据类型:astype()

      1.2.5 数组维度:ndim

      1.3.1 一维数组

      1. 选取单个元素

      2. 选取连续的元素

      3. 选取不连续的元素

      1.3.2 二维数组

      逗号隔开两个索引

      1. 选取单个元素

      2. 选取单行或单列元素

      3. 选取某些行或某些列的元素
    wps的电脑版的下载方法在哪里
      某些行

      某些列

      4. 同时选取行列元素

      1.4.1 一维数组

      1.4.2 多维数组

      1.4.3 多维重塑为一维:flatten()、ravel()

      1.4.4 数组的转置:T属性、transpose()

      1. T属性

      2. transpose()函数

      1.5.1 添加元素:append()、insert()

      1. append()函数

      可以看出append()函数在二维数组中添加元素,结果转为了一维数组。

      那怎么保持二维数组呢?可以设置axis参数按行或者按列添加

      axis=0:按行添加

      axis=1:按列添加

      append()函数参数如下

      参数说明arr必选,要添加元素的数组values必选,要添加的数组元素axis可选,默认为None。省略此参数时,默认当一维数组尾插元素。为0按行添加;为1按列添加

      2. insert()函数

      可以看出先把二维数组降成了一维数组,再在索引为1的位置添加元素。

      那么怎么保持在二维添加元素呢?同样设置axis参数

      insert()参数如下

      参数说明arr必选,要插入元素的数组obj必选,数组的索引值,表示插入元素的位置values必选,要插入的元素axis可选,省略此参数时,默认当一维数组插入。为0按行;为1按列

      1.5.2 删除元素:delete()

      也分按行和按列删除

      1.5.3 处理缺失值:isnan()

     wps office的免费版下载网站怎么找(wps office免费版手机版) 标记缺失值:isnan()函数

      补充缺失值:

      1.5.4 处理重复值:unique()

      1.5.5 拼接数组:concatenate()、hstack()、vstack()

      1. concatenate()函数

      同样axis参数可以指定拼接按行还是按列

      2. hstack()函数:以水平堆叠的方式拼接数组

      3. vstack()函数:以垂直堆叠的方式拼接数组

      1.5.6 拆分数组:split()、hsplit()、vsplit()

      1. split()函数

      第二个参数还可以是数组,指定拆分的位置

      2. hsplit()函数和vsplit()函数

      hsplit()函数:横向拆成几个数组

      vsplit()函数:纵向拆成几个数组

      1.6.1 四则运算

      数组与数组之间的运算

      数组与数值的运算

      1.6.2 统计运算:sum()、mean()、max()

      1wps office的免费版的下载方法是什么. 求和:sum()函数

      可以指定整个数组求和,还是按行或者按列

      axis=0:每一列的元素求和

      axis=1:每一行的元素求和

      2. 求平均值:mean()函数

      axis=0:每一列求均值

      axis=1:每一行求均值

      3. 求最值:max()函数

      axis=0:每一列求最大值

      axis=1:每一行求最大值

  • wps office 的官方下载入口怎么找

      前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。

      点击跳转到网站:人工智能从入门到精通教程

      本文电子版获取方式:

      我用夸克网盘分享了「Python数据分析(1):Matplotlib.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。

      链接:https://pan.quark.cn/s/be7a7ac312b6

      本教程基于win10下,Python版本为3.7

      创建虚拟环境

      激活环境
    wps 的官网的下载入口怎么找
      安装需要的相关库

      整个数据挖掘基础阶段会用到的库,为了统一版本号,安装以下版本

      使用以下命令

      安装TA-Lib需要找轮子,安装教程查看此链接:博客链接

      jupyter怎么使用查看我的另外一篇博客:链接

      jupyter设置代码自动补全功能:教程链接

      优势:

      画图方便数据展示方便:按代码块运行

      1 界面启动:终端输入:

      2 cell操作

      cell:一块代码块

      编辑模式

      命令模式:按ESC退出编辑,进入命令模式

      2)快捷键操作

      shift +enter:执行本单元格代码,并跳转到下一单元

      Ctrl+enter:执行本单元代码,留在本单元

      在这里插入图片描述

      3 markdown演示

      在这里插入图片描述
    wps的的官网下载的地方在哪(wps下载电脑版教程)
      2.1.1 什么是Matplotlibwps免费版的下载的地址是什么

      专门用于开发2D图表(包括3D图表),画二维图表的工具库

      以渐进、交互式方式实现数据可视化

      mat:matrix矩阵

      plot:画图

      lib:library库

      2.1.2 为什么要学习Matplotlib

      可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法。

      能将数据进行可视化,更直观的呈现使数据更加客观、更具有说服力

      2.1.3 实现一个简单的Matplotlib画图

      在这里插入图片描述

      在这里插入图片描述

      2.1.5 扩展知识点:Matplotlib三层结构

      1 容器层

      画板层Canvas画布层Figure绘图区

      在这里插入图片描述

      2 辅助显示层

      3 图像层

      2.2.1 折线图绘制与保存图片

      为了更好地理解所有基础绘图功能,我们通过天气温度变化的绘图来融合所有的基础API使用

      1 matplotlib.pyplot模块

      该模块包含了一系列类似于MATLAB的画图函数。它的函数作用于当前图形(figure)的当前坐标系(axes)

      2 折线图绘制与显示

      展现上海一周的天气,比如从星期一到星期日的天气温度

      在这里插入图片描述

      3 设置画布属性与图片保存
    WPS office电脑版的下载的网站怎么找
      例:

      2.2.2 完善原始折线图1(辅助显示层)

      1 准备数据并画出初始折线图

      wps免费版的下载的网址在这里插入图片描述

      2 添加自定义x,y刻度

      在这里插入图片描述

      在这里插入图片描述wps的的官网最新的下载的网站在哪

      4 添加网格显示

      为了更加清楚地观察图形对应的值

      在这里插入图片描述

      5 添加描述信息

      添加x轴,y轴描述信息及标题

      在这里插入图片描述

      2.2.3 完善原始折线图2(图像层)

      需求:再添加一个城市的温度变化

      在这里插入图片描述

      显示图例

      注意:如果只在plt.plot()中设置label还不能最终显示出图例,还需要通过plt.legend()将图例显示出来。

      在这里插入图片描述

      在这里插入图片描述

      2.2.4 多个坐标系显示:plt.subplots(面向对象的画图方法)

      在这里插入图片描述

      在这里插入图片描述

      2.2.5 折线图的应用场景

      呈现公司产品每天活跃用户数呈现APP每天下载数量呈现产品新功能上线后,用户点击次数随时间的变化扩展:画各种数学函数图像

      在这里插入图片描述

       wps 的官网下载的网站在哪在这里插入图片描述

      2.3.1 常见图像种类及意义

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      2.3.2 散点图绘制

      需求:探究房屋面积与房屋价格的关系

      在这里插入图片描述

      2.4.1 柱状图绘制

      在这里插入图片描述

      需求一:对比每部电影的票房收入

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      代码如下:

      在这里插入图片描述

      需求二:如何对比电影票房收入才更加有说服力

      比较相同天数的票房

      在这里插入图片描述

      在这里插入图片描述

      2.5.1 直方图介绍

      wps office 官方下载的地方是多少(wps office下载链接查看)在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      2.5.3 直方图绘制
    wps office 官方下载地址怎么找

      在这里插入图片描述

      在这里插入图片描述

      3 直方图注意点

      在这里插入图片描述

      在这里插入图片描述

      2.6.1 饼图介绍

      在这里插入图片描述

      2.6.2 饼图绘制

      在这里插入图片描述

      需求:显示不同的电影的排片占比

      在这里插入图片描述

      总结:

      在这里插入图片描述

      在这里插入图片描述

  • WPS office的电脑版的下载入口在哪里

      三个包:Numpy、Pandas和matplotlib;工具:jupyter notebook。首先确保导入这两个包

      Pandas有三种数据结构:Series、DataFrame和Panelpython自学好学嘛。Series类似于一维数组;DataFrame是类似表格的二维数组;Panel可以视为Excel的多表单Sheet。

      1.read_table

      可以用于读取csv、excel、dat文件。

      2.merge

      连接两个DataFrame并返回连接之后的DataFrame。

      3.iloc

      iloc函数:通过行号来取行数据(如取第二行的数据)

      4.pivot_table

      通过使用pandas.pivot_table()函数,可以实现与电子表格软件(例如Excel)的数据透视表功能相同的处理

      5.groupby

      和sql中的分组类似,pandas中的groupby函数也是先将df按照某个字段进行拆分,将相同属性分为一组;然后对拆分后的各组执行相应的转换操作;最后输出汇总转换后的各组结果。WPS office电脑版下载的地方怎么找

      数据分析步骤:1.提出问题 2.理解数据 3.数据清洗 4.构建模型 5.数据可视化

      3.1 MoviesLens 1M数据集

      GroupLens实验室提供了一些从MoviesLens用户那里收集的20世纪90年代末到21世纪初的电影评分数据的集合。浙西额数据提供了电影的评分、流派、年份和观众数据(年龄、邮编、性别、职业)。 MovisLens1M数据集包含6000个用户对4000部电影的100万个评分。数据分布在三个表格之中:分别包含评分、用户信息和电影信息。

      下载地址为:http://files.grouplens.org/datasets/movielens/,有好几种版本,对应不同数据量。

      首先读取users.dat、rating.dat、movies.dat三个文件,并将他们存储在不同的DataFrame中,分别命名为users、ratings、movies。

      分别输出三个DataFrame的前五行,并输出ratings的全部数据。

      

      使用merge函数将ratings,users和movies进行合并,保留了三个DataFrame中所有的数据,并将他们之间重复的数据和行进行合并wps的官网最新的下载的地址。合并生成名为data的新DataFrame,并输出整个数据以及读取第一行数据。

      WPS office官网最新的下载入口怎么找

      使用pivot_table函数实现数据透视表功能&wps官网最新下载入口在哪#xff0c;对rating中title列求均值,columns参数就是用来显示字符型数据的,显示性别数据。求均值生成名为mean_ratings的新DataFrame,并读取输出前五行数据。

      

      使用groupby函数对data这一DataFrame按照电影名称title分组,并计算每个电影标题对应的评分数量。第二行代码显示每个电影标题对应的评分数量。第三四行代码统计对应评分数量大于250的电影标题将其定义为active_titles并输出。

      

      读取mean_ratings中评分数量大于250的电影标题对应的数据并输出。

      
    wps office免费版下载地址怎么找
      使用rename函数将mean_ratings中Seven Samurai (The Magnificent Seven) (Shichinin no samurai) (1954)重新更改为Seven Samurai (Shichinin no samurai) (1954)。

      根据女性的评分使用排序函数对mean_ratings进行降序排序并输出。

       WPS office的电脑版的下载地址

      用mean_ratings中男性评分减去女性评分计算出男女评分差异diff。

      根据diff列的值使用排序函数对mean_ratings进行升序排序并输出。

      

      使用切片操作对diff进行逆序排序,并输出。

      std函数用于表示标准差。对电影标题title根据评分标准差分组。并读取活跃标题(评分数量大于250的电影标题)的标准差输出。

      

      根据评分标准差进行降序排序并读取前十行,也即输出评分标准差最大的十个电影标题。

      

      读取电影中genres列数据,并通过|分隔开。将分割后的数据命名为genre列,原数据列genres删除。

      

      使用explode函数将genre列中分割的数据展开成单独的几列数据并记为movies_exploded这个新DataFrame,输出前十行数据。

      

      将movies_exploded,ratings,users这三个合并起来生成一个新DataFrame,并读取第一行数据。按照genre和age进行分组,并计算每个组评分的平均值,使用unstack函数将结果重塑为以age为列索引的形式。

      

      3.2 美国1880-2010年的婴儿名字

      美国社会保障局(SSA)提供了从1880年至现在的婴儿姓名频率的数据。可以使用这些数据做很多事情:根据给定的名字对婴儿名字随时间的比例进行可视化,确定一个名字的相对排位,确定每年最受欢迎的名字,或者流行程度最高或最低的名字

      数据集下载地址:GitHub – wesm/pydata-book: Materials and IPython notebooks for "Python for Data Analysis" by Wes McKinney, published by O'Reilly Media

      读取名为“yob1880.txt”文件,并将其列名设为name,sex,births。

      

      按照性别分组,并计算每组生日的总和。

      

      提取从数据集中读取1880-2011年间的数据并生成names这个DataFrame。

      

      使用pivot_table函数以births和sex分组的出生数总和,并显示最后几行。

      绘制一个标题为Total births by sex and year的折线图。

      

      定义一个增加组的函数add_prop,表示每个名字在出生年份和性别组中的比例,每个名字的出生率。

      对names按照年份和性别分组,并对每组应用add_prop函数。

      

      通过年份和性别分组,并计算对每组中的每个名字比例的总和。

      

      定义一个get_top1000的函数,该函数根据births进行降序排序,并取前1000行,也即births值最大的前1000。根据年份和性别分组,并对每个分组应用get_top1000函数。

      

      使用reset_index()函数对top1000 DataFrame 进行重置索引,并丢弃原始索引。设置drop=True可以移除原始索引列,以便在重置索引后不保留它。

      

      根据性别将top1000的值分为boys和girls两个数据集。并对births进行数据透视。

      使用info()方法打印出total_births的全部数据,并选择John、Harry、Mary、Marilyn四个名字绘制标题为Number of births per year的折线图。

      

      对prop进行数据透视图,绘制标题为Sum of table1000.prop by year and sex的折线图。

      

      得到2010年男孩出生人数表

      

      对2010年男孩出生人数表中prop值进行降序排序并计算累计和,并提取前10行,使用 searchsorted() 方法找到累计和达到 0.5 时的索引位置。

      

      得到1900年男孩出生人数表, 对表中prop值进行降序排序并计算累计和, searchsorted() 方法找到累计和达到 0.5 时的后一个索引位置。
    wps电脑版的下载地址
      

      定义一个get_quantile_count函数,对prop值进行降序排序并计算累计和, searchsorted() 方法找到累计和达到 0.5 时的后一个索引位置。

      根据年份和性别分组,并对每组应用get_quantile_count函数,得到diversity这个新DataFrame,并绘制标题为Number of popular names in top 50%的折线图。

      

      定义一个返回字符串最后一个字母的函数。

      使用map函数对names中每一个名字提取最后一个字母。进行数据透视。

      展示1910,1960,2010年的数据。

      

      展示每个年份和性别组合中每个名字的总和,以及占比

      

      导入matplotlib包分别以男生和女生绘制两幅柱状图。

      

      统计最后男生中名字最后一个字母为d、n、y的比例。

      

      并绘制折线图。

      

      从top1000 DataFrame的"name"列获取唯一的姓名,并将结果存储在all_names变量中。选择all_names中包含"Lesl"的姓名,并将结果赋值给lesley_like变量。显示lesley_like Series,即包含以"Lesl"开头的姓名。

      

      根据top1000 DataFrame中的"name"列与lesley_like中的姓名进行匹配,筛选出匹配的行数据,并将结果赋值给filtered变量。 对filtered DataFrame按姓名进行分组,计算每个姓名的出生人数总和,并显示结果。
    wps的官网最新下载的入口是多少
      

      根据年份和性别对filtered进行透视,计算每个年份和性别的出生人数总和,并将结果存储在table变量中。对table进行归一化,即每行的总和作为除数,计算每个年份和性别的归一化比例。table归一化后最后几行的结果。

      

      绘制折线图,其中男生用实线,女生用虚线。

      

      3.3 美国农业部食品数据库

      美国农业部提供了食物营养信息数据库。每种事务都有一些识别属性以及两份营养元素和营养比例的列表。这种形式的数据不适合分析,所以需要做一些工作将数据转换成更好的形式。

      下载地址:DRI Calculator for Healthcare Professionals | National Agricultural Library

      计算列表中元素的个数

      获得db列表中索引为0的所有关键值。 从db列表中索引为0的元素中获取键为"nutrients"的值的列表,并返回列表中的第一个元素。将db列表中索引为0的元素中的"nutrients"值转换为Pandas DataFrame对象。 显示nutrients DataFrame的前7行数据。

      

      包含要从数据库中提取的信息的键的列表。使用info_keys作为列名,创建包含db数据的Pandas DataFrame对象,并将其存储在info变量中。 显示info DataFrame的前几行数据。显示info DataFrame的基本信息。

      

      从DataFrame info 中选择了名为 "group" 的列,该列包含了食物的分组信息。对选定列中的每个唯一值进行计数,并返回计数结果。取计数结果中的前 10 个值,即返回出现次数最多的前 10 wps的官网最新下载的地址是多少 个分组。

      wps电脑版的下载的入口在哪

      创建一个空列表。定义一个函数为每个记录创建一个包含营养信息的DataFrame对象,添加一个名为"id"的列,将记录的id值赋给该列的每个元素,并将每个记录的营养信息DataFrame添加到nutrients列表中, 将nutrients列表中的DataFrame对象合并为一个大的DataFrame,并重新索引行号。

      

      计算duplicates的总值,并将其赋值给nutrients。

      定义一个字典,里面有两个键值对。将其重命名为info,并输出。定义另一个字典,将其重命名为nutrients并输出。

      

      合并nutrients和info,并读取第30000行数据

      

      以nutrient和fgroup分组,并排序绘制柱状图。

      

      根据nutgroup和nutrient分组,并定义一个求最大值得函数,对value和food求最大值,对最大food读取前50行,读取Amino Acids行数据。

      

  • wps的官网最新的下载网址在哪里

      DataFrame 和 Series 简介

      pandas是用于数据分析的开源Python库,可以实现数据加载、清洗、转换、统计处理、可视化等功能。

      pandas最基本的两种数据结构:

      1、DataFrame

      可以用来处理结构化数据(SQL数据表、Excel表格)可以简单理解为一张数据表(带有行标签和列标签)

      2、Series

      用来处理单列数据,也可以把DataFrame看作由Series对象组成的字典或集合可以简单理解为数据表的一行或者一列

      wps office 官方的下载网站是什么(wps官网最新怎么下载加载项)在这里插入图片描述

      数据集(csv和tsv)

      csv和tsv文件格式介绍

      csv和tsv文件都是存储一个二维表数据的文件类型。

      注意:其中csv文件每一列的列元素之间以逗号进行分割,tsv文件每一行的列元素之间以 进行分割。

      在这里插入图片描述

      加载数据集(csv和tsv)

      DataFrame 的行列标签和行列位置编号

      在这里插入图片描述

      获取DataFrame的行标签

      获取DataFrame的列标签

      可以单独设置某一列为行标签

      注意:单独设置行标签不会改变原来的DataFramewps的官网最新下载的地址是什么(wps下载电脑版网址是多少)。

      在这里插入图片描述行位置编号:从上到下,从0开始到n-1

      列位置编号:从左到右,从0开始到n-1

      DataFrame 获取指定行列的数据

      loc方法

      在这里插入图片描述

      iloc方法

      根据位置编号

      在这里插入图片描述

      [ ]方法

      在这里插入图片描述

      loc和iloc的切片操作

      在这里插入图片描述

      注意:需要确保行索引是的,否则 Pandas 无法正确处理切片操作。

      可以下列语句查询索引是否唯一:

      如果返回 False,说明索引中有重复值。

      下面有两种方法可以解决:

      重置索引。

      然后可以进行条件过滤

      去重处理

      keep=‘first’:保留第一个重复值,丢弃后续的。keep=‘last’:保留最后一个重复值,丢弃前面的。

      改用条件过滤

      series是pandas中用来存储一堆数据的容器。

      创建Series

      创建series最简单的方式是传入一个python列表

      如果传入的数据是一个统一的数字,那么最终的类型是int64如果传入的数据是统一的字符串,那么最终的类型是object如果传入的数据是混合类型,那么最终的类型是object

      创建series时,也可以通过index参数来指定行标签

      Series常用属性操作

      在这里插入图片描述

      Series常用统计方法

      在这里插入图片描述

      在这里插入图片描述

      Series 的bool索引

      series支持bool索引,可以从series获取bool索引为True的位置的对应数据。

      Series 运算

      在这里插入图片描述

      创建DataFrame

      可以用字典创建DataFrame

      在这里插入图片描述

      创建DataFrame时可以用colums参数指定列的顺序,也可以使用index参数来指定行标签

      在这里插入图片描述

      也可以使用嵌套列表创建DataFrame,并使用columns参数指定列标签,使用index参数来指定行标签

      在这里插入图片描述

      DataFrame常用属性操作

      在这里插入图片描述

      DataFrame常用统计方法

      在这里插入图片描述

      DataFrame的bool索引

      series支持bool索引,可以从series获取bool索引为True的位置的对应的行数据。

      结果:

      在这里插入图片描述

      DataFrame的运算

      在这里插入图片描述

      DataFrame行标签和列标签的操作

      重新指定行标签

      加载数据文件时,如果不指定行标签,pandas会自动加上从0开始的行标签。

      可以通过df.set_index(‘列名’)的方法重新将指定的列数据设置为行标签;也可以通过df.reset_index()来重置行标签。

      加载数据时,直接指定行标签

      加载数据后,修改行列标签

      在这里插入图片描述

      注意:直接修改的话行列标签的数量必须和原来的时一致的。

      在这里插入图片描述

      行操作

      添加行

      添加行时,会返回新的DataFrame

      修改行

      删除行时是直接对原来的DataFrame进行修改

      在这里插入图片描述

      删除行

      删除行时,会返回新的DataFrame

      列操作

      新增列/修改列

      在这里插入图片描述

      删除列

      删除列时,会返回新的DataFrame

      在这里插入图片描述

      Pickle文件

      在这里插入图片描述

      CSV文件

      在这里插入图片描述

      Excel文件

      在这里插入图片描述

      其它

      在这里插入图片描述

      feather文件

      在这里插入图片描述

      条件查询

      在这里插入图片描述

      分组聚合

      在这里插入图片描述

      在这里插入图片描述

      排序

      在这里插入图片描述

      补充:Series也可以排序,但是Series的sort_values方法没有by参数。

      nlargest 和 nsmallest 函数

      在这里插入图片描述

      基本绘图

      在动手进行数据分析工作之前,需要进行数据清理工作,数据清理的主要目标是:

      每个观测值成一行每个变量成一列每种观测单元构成一张表格

      数据整理好之后,可能需要多张表格组合到一起才能进行某些问题的分析。

      在这里插入图片描述

      行拼接:按照列标签索引对齐

      注意:行拼接时,无法对齐的列,默认值设为NaN

      Dadaframe 与 Dadaframe 行拼接

      Dadaframe 与 Series 行拼接

      在这里插入图片描述

      列拼接:按照列行签索引对齐

      注意:列拼接时,无法对齐的行,默认值设为NaN

      Dadaframe 与 Dadaframe 列拼接

      在这里插入图片描述

      Dadaframe 与 Series 列拼接

      在这里插入图片描述

      concat 方法的join函数

      concat方法的join函数:

      默认为outer:无法对齐的行列,默认填充值为NaN。设置为inner:只有能够对齐的行业,才会出现在拼接的结果中。

      在这里插入图片描述

      在这里插入图片描述

      基本格式

      merge方法类似sql中的join语句,用于两个数据集之间按照行列标签索引连接,默认时inner,可以设置为:left、right、outer。

      在这里插入图片描述

      在这里插入图片描述

      merge 示例

      从sqlite数据库中加载table数据

      基本格式

      join方法类是merge方法的一个特殊情况,被调用的数据集按照行列标签索引和另一个数据集的行标签索引关联,默认是left,可以设置为:right、inner、outer。

       wps官网最新的下载的网址怎么找 wps官网最新下载的地方是什么在这里插入图片描述

      join 示例

      在这里插入图片描述

      一般情况下优先使用merge方法。

      缺失值NaN

      在这里插入图片描述

      注意:缺失值和其它类型的数据不同,它毫无意义,NaN不等于0,也不等于空字符串,两个NaN也不相等。

      在这里插入图片描述

      加载缺失值

      缺失值查看

      使用Missingno库对缺失值的情况进行可视化探查

      安装Missingno

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      删除缺失值WPS office的官网最新下载的入口的方法

      注意:删除缺失值会损失信息,并不推荐删除,当缺失值占比较高的时候,可以尝试使用删除缺失值。

      按行删除缺失值

      在这里插入图片描述

      按列删除缺失值

      填充缺失值(非时间序列)

      使用常量进行填充

      使用统计量进行填充

      填充缺失值(时间序列)

      时间序列在某一列值的变化往往有一定线性规律,绝大多数的时序数据,具体的列值随着时间的变化而变化,所以对于有时序的行数据缺失值处理有三种方式:

      前项填充:用时间序列中空值的上一个非空值填充后项填充:用时间序列中空值的下一个非空值填充线性填充:线性插值方法

      前项填充

      在这里插入图片描述

      后项填充

      在这里插入图片描述

      线性填充

      在这里插入图片描述

      在这里插入图片描述

      wide_to_long 整理数据

      wide_to_long函数的作用是将列名起始部分相同的列进行拆解,使宽数据变换为长数据(变成多行)。

      melt 整理数据

      在这里插入图片描述

      宽数据集变成长数据集

      在这里插入图片描述

      stack 整理数据

      stack 和 unstack 简介

      pandas进行数据重排时,经常用到stack 和 unstack两个函数。stack的意思是堆叠,unstack的意思是不要堆叠。

      在这里插入图片描述

      stack函数会将数据从表格结构变成花括号结构(返回的是series类型),即将其列索引变成行索引;反之,unstack函数将数据从花括号结构变成表格结构,即将其中一层的行索引变成列索引。

      stack 功能演示

      在这里插入图片描述

      Numpy介绍

      Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组。

      ndarry比Python原生list的运算效率更高。

      在这里插入图片描述

      Numpy的ndarray

      ndarray 的 属性

      在这里插入图片描述

      ndarray 的类型

      在这里插入图片描述

      创建ndarry的时候指定类型:

      pandas 的数据类型

      pandas是基于Numpy的,很多功能都依赖于Numpy的ndarray实现的,pandas的数据类型很多与Numpy类型,属性也有很多类似。

      在这里插入图片描述

      类型转换

      astype函数

      astype方法是通过函数,把DataFrame中的任何列转换为其它dtype,可以向astype方法提供任何内置类型或numpy类型来转换列的数据类型。

      astype转换为字符串对象

      结果:出现了新的一列sex_str

      在这里插入图片描述

      to_numeric函数

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      分类数据类型 category

      category的创建

      category类型数据是由固定的且有限数量的变量组成的,比如:性别。

      在这里插入图片描述

      category的排序

      在这里插入图片描述

      我们也可以自定义数据的大小关系

      在这里插入图片描述

      我们也可以重新修改排序规则

      在这里插入图片描述

      apply函数简介

      pandas的apply()函数可以作用于Series或者整个DataFrame,功能也是自动遍历整个Series或者DataFrame,对每一个元素运行指定的函数。

      pandas提供了很多数据处理的API,但当提供的API不能满足需求的时候,需要自己编写数据处理函数,这个时候可以使用apply函数。apply函数可以接受一个自定义函数,可以将DataFrame的行或者列数据传递给自定义函数处理apply函数类似于编写一个for循环,遍历行列的每一个元素,但比使用for循环高效很多。

      Series的apply方法

      Series有一个apply方法,该方法有一个func参数,当传入一个函数后,apply方法就会把传入的函数应用于每个元素。

      apply也可以接受多参数

      DataFrame的apply方法

      DataFrame的applymap方法

      DataFrame还有一个applymap函数,applymap也有一个func参数接受一个函数,针对DataFrame每个值应用func指定的函数进行操作,分别返回的结果构成新的DataFrame对象

      注意:applymap是DataFrame,Series没有。

      apply函数的使用案例

      函数向量化

      @np.vectorize # 函数向量化

      lambda函数

      使用apply或者applymap对数据进行处理时,当条件比较简单时,没有必要创建一个函数,可以使用lambda表达式创建匿名函数。

      分组聚合简介

      在SQL中我们经常使用group by 将某个字段按照不同的取值进行分组,在pandas中也有group by 函数;分组之后,每组都会有至少1一条数据,将这些数据进一步处理返回单个值的过程就是聚合。

      比如:分组之后计算算术平均数或者分组之后计算频数,都属于聚合。

      在这里插入图片描述

      注意:方式1 只能使用pandas的内置的聚合方式,并且只能进行一种聚合;方式2和3除了能够使用pandas内置的聚合,还可以使用其它聚合方法,并且可以进行多种聚合。

      pandas内置的聚合方法

      在这里插入图片描述

      分组聚合示例

      分组transform 转换

      transform转换需要把DateFrame中的值传递给一个函数,然后由该函数“转换”数据;

      aggregate(聚合)返回单个聚合值,但transform不会减少数据量。

      分组transform 操作

      分组transform 填充缺失值

      分组transform练习:减肥比赛

      分组过滤

      使用groupby方法还可以过滤数据,调用filter方法,传入一个返回布尔值的函数,返回False的数据会被过滤掉。

      分组对象

      分组对象的基本操作

      在这里插入图片描述

      注意:sex_group 是一个DataFrameGroupBy对象,如果想查看计算过的分组,可以借助groups属性实现。

      在这里插入图片描述

      可以取出一组的全部数据

      在这里插入图片描述

      分组对象的遍历

      通过DataFrameGroupBy对象,可以遍历所有分组,相比于groupby之后使用aggregate、transform和filter,有时候使用for循环解决问题跟简单。

      在这里插入图片描述

      注意:DataFrameGroupBy对象下标索引

      分组对象的多个分组

      在这里插入图片描述

      数据透视表

      数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关。

      数据透视表的本质其实就是分组聚合。

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      下面我们用数据透视表来完成这个:

      在这里插入图片描述

      与分组聚合得出的结果是一致的

      Python 中的datetime 对象

      Python内置了datetime对象

      Pandas 中的datetime 对象

      pandas可以使用to_datetime 函数把数据转换成datetime类型。

      注意:date是日期对象,但显示的是object类型

      在这里插入图片描述

      在这里插入图片描述

      我们也可以在加载数据时直接转化

      在这里插入图片描述

      提取datetime的各个部分

      日期运算和Timedelta

      Ebola数据集中的Day列表示一个国家爆发Ebola疫情的天数。这一列数据可以通过日期运算重建该列。

      在这里插入图片描述

      TimedeltaIndex 对象

      在这里插入图片描述

      Date range 方法

      在这里插入图片描述

      在这里插入图片描述

      可以看到原始的Date不是连续排列的。

      在这里插入图片描述

      使用date range 方法就可以连续,缺失的数据由NaT,NaN表示。

      注意: 使用date_range函数创建日期序列时,可以传入一个参数freq,默认为D,表示日期范围内的值是逐日递增的。

      在这里插入图片描述

      案例:银行数据分析

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      案例:tesla股票数据分析

      在这里插入图片描述

      在这里插入图片描述

      案例:丹佛报警记录数据分析

      在这里插入图片描述

      在这里插入图片描述

      注意:排序后再索引效率会变高,这串代码很重要

      在这里插入图片描述

      resample要求行索引必须是日期类型

      在这里插入图片描述

      在这里插入图片描述

      所有日期都是该季度的最后一天,也可以用QS改为该季度的第一天

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      每次读取文件都需要很长时间,调用os包保存为pkl文件,提升读取速度。

      注意:KPL是Excel的一次映射 映射完之后是独立的 修改KPL只会影响KPL 等你做完操作之后需要修改后的excel 重新导出。

      第一部分:会员存量、增量分析

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      第二部分:会员增量等级分布分析

      在这里插入图片描述
    wps的官网最新下载的方法
      结果同上

      在这里插入图片描述

      第三部分:会员整体等级分布分析

      在这里插入图片描述

      结果同上

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      第四部分:线上线下增量分析

      在这里插入图片描述

      结果同上

      在这里插入图片描述

      第五部分:地区店均会员分析

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      第六部分:各地区会销比

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      第七部分:各地区会员连带率分析

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      第八部分:各地区会员复购率分析

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      数据可视化常用库:

      Matplotlib(功能强大,代码相对复杂)

      Matplotlib是Python编程语言的开源绘图库。它是Python可视化软件包中最突出的,使用最广泛的绘图工具。Matplotlib在执行各种任务方面非常高效。可以将可视化文件导出为所有常见格式(PDF,SVG,JPG,PNG,BMP和GIF)。Matplotlib可以创建流行的可视化类型-折线图,散点图,直方图,条形图,误差图,饼图,箱形图以及更多其他类型的图,还支持3D绘图。许多Python库都是基于Matplotlib构建的,Pandas和Seaborn是在Matplotlib上构建的Matplotlib项目由John Hunter于2002年启动。Matplotlib最初是在神经生物学的博士后研究期间开始可视化癫痫患者的脑电图(ECoG)数据。 Pandas (使用简单,功能稍弱)

      Pandas的绘图功能基于Matplotlib,是对Matplotlib的二次封装Matplotlib绘图时,代码相对复杂,使用Pandas绘制基本图表相对比较简单,更加方便Pandas中常用的数据结构 series 和 dataframe 都有plot()方法,用于绘图 Seaborn (推荐使用)

      Seaborn是基于Matplotlib的图形可视化python开源库Seaborn是在Matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易Seaborn的API设计偏向探索和理解数据 echarts 和 pyecharts (追求可视化效果,推荐使用)

      ECharts,是百度开源,使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表pyecharts 是一个用Python生成 Echarts 图表的类库。

      Matplotlib绘图入门

      使用 Matplotlib 绘图,首先需要导入 pyplot 模块,该模块包含一系列绘图函数的相关函数

      Matplotlib提供了两种方法来作图:状态接口和面向对象:

      状态接口

      在这里插入图片描述

      2) 状态接口

      在这里插入图片描述

      matplotlib 数据可视化案例
    wps官网下载的地址在哪里
      本案例通过 seaborn 模块中的 Anscombe 数据集说明数据可视化的重要性

      Anscombe 数据集由英国统计学家Frank Anscombe创建,数据集包含4组数据,每组数据包含两个连续变量每组数据的平均值、方差、相关性都相同,但是当它们可视化后,就会发现每组数据的模式明显不同

      在这里插入图片描述

      从数据的统计量看,变量X,Y,4个子数据集的平均值和标准差基本相同,但是平均值和标准差相同,几个数据集就完全相同么?下面绘制图形来查看一下这 4 个子数据集。

      在这里插入图片描述

      在这里插入图片描述

      使用 Matplotlib 绘制统计图

      在这里插入图片描述

      单变量绘图(直方图)

      在统计学属于中,单变量(univariate)指单个变量。

      直方图是观察单个变量最常用的方法。这些值是经过"装箱"(bin)处理的直方图会将数据分组后绘制成图来显示变量的分布状况

      在这里插入图片描述

      双变量绘图(散点图)

      双变量(bivariate)指两个变量

      散点图用于表示一个连续变量随另一个连续变量的变化所呈现的大致趋势

      在这里插入图片描述

      多变量绘图(二维平面)

      二维平面可以用来展示两个变量的数据,如果是多变量,比如添加一个性别变量,可以通过不同的颜色来表示还可以通过圆点的大小来区分变量的不同,但如果变量的大小区别不大,可能通过圆点大小来区分效果不是很好

      在这里插入图片描述

      pandas绘图

      pandas 数据可视化简介

      pandas库是Python数据分析的核心库:

      它不仅可以加载和转换数据,还可以做更多的事情:它还可以可视化pandas 绘图 API 简单易用,是 pandas 流行的重要原因之一

      pandas 单变量可视化

      单变量可视化: 包括条形图、折线图、直方图、饼图等。

      柱状图和分类数据

      柱状图是最简单最常用的可视化图表

      条形图(柱状图)非常灵活:

      高度可以代表任何东西,只要它是数字即可每个条形可以代表任何东西,只要它是一个类别即可。

  • wps office的免费版的下载的网站在哪里

      上一章内容python数据分析入门【一】 — DataFrame & Series

      下一章内容python数据分析入门【三】 — 数据分析

      1、数据导入和导出

      1.1 数据的导入

      1)一般方式导入文件

      用python内置的和,缺点是不能对数据按格式划分,并封装成可计算的对象

      在这里插入图片描述

      在这里插入图片描述

      2)导入csv文件

      使用,如果存在中文路径会报错,此时使用打开文件即可(参考https://blog.csdn.net/qq_35318838/article/details/80564938)。得到的数据会被封装成对象

      默认分隔符是’,’

      在这里插入图片描述

      修改分隔符,并修改列名

      3)导入文本文件

      注意文本文件一上来就是数据,没有表头,所以要设置列名,并设置分隔符。

      在这里插入图片描述

      在这里插入图片描述

      4)导入excel文件(后缀xlsx)

      ​ 对于导入文件编码错误问题,可以用指定编码格式

      在这里插入图片描述

      1.2 数据的导出

      1)导出csv/txt文件

      ​ 用导出csv,文本等文件,可以设置,表示不打印索引列(没有)

      在这里插入图片描述

      在这里插入图片描述

      2)导出xlsx文件

      ​ 用导出csv,文本等文件,可以设置,表示不打印索引列

      在这里插入图片描述

      2、值处理

      值处理包括:重复值,缺失值,空格值的处理

      A、重复值处理

      在这里插入图片描述

      2.1 用duplicated()找出重复位置wps office的免费版下载的网站在哪里

      1)找出行的重复位置

      不指定列,则对行(所有列WPS office官网最新的下载入口是什么)进行重复值位置查找

      在这里插入图片描述

      2)根据列,找出重复位置

      在这里插入图片描述

      在这里插入图片描述

      根据返回值,把重复数据提取出来

      df[dIndex]

      2.2 用drop_duplicates()删除重复值

      1)根据行重复值进行删除

      在这里插入图片描述

      2)通过指定列,删除重复值

      在这里插入图片描述

      2.3 向量化计算提取重复值

      ​ 对于boolean类型的一维数组A,可以根据A,利用向量化计算,提取重复值数据。

      B、缺失值处理

      2.1、缺失值的产生和处理方法

      缺失值的产生:

      有些信息暂时无法获取有些信息被遗漏或者错误处理了(年龄那一列要求是数字,但是填入了‘a’,‘b’)

      缺失值的处理方法:

      数据补齐(填充平均值)删除对应缺失行(数据量少慎用)删除对应缺失行不处理

      2.2、用 isnull() 找到空值位置

      在这里插入图片描述

      在这里插入图片描述

      2.3、获取空值所在的行

      1)默认所有列

      2)指定判断空值的列

      2.4、用 fillna() 填充空值

      2.5、用 dropna() 删除空值所在的行

      C、空格值处理

      2.1、用str.strip()处理某一列的空格值

      在这里插入图片描述

      2.2、将处理好的数据放回原列

      在这里插入图片描述

      3、字段处理

      A、字段抽取

      字段抽取:

      根据已知列数据的开始和结束位置,抽取出新的列。例如对于电话号:138 0013 8000,其中138是运营商,0013是地区,8000是号码

      在这里插入图片描述

      3.1、用Series.astype()转换数据类型

      3.2、用str.slice()字段抽取

      在这里插入图片描述

      B、字段拆分

      字段拆分:按照固定的字符,拆分已有字符串

      在这里插入图片描述

      3.1、用split()拆分得到DataFrame

      在这里插入图片描述

      3.2、用split()拆分得到Series

      在这里插入图片描述

      C、字段合并

      字段合并:指将同一个数据框中的不同的列,进行合并,形成新的列(字段拆分的逆操作)

       wps的官网的下载的地方在哪里在这里插入图片描述

      注意先将Int64转化成str,才能进行字段合并(字符串加法)

      在这里插入图片描述

      D、字段匹配

      字段匹配:根据各表共有的关键字段(eg:id字段,且数据类型一致),把各表所需的记录一一对应起来,组成一条新的记录

      在这里插入图片描述

      在这里插入图片描述

      3.1、用pd.merge()左连接

      在这里插入图片描述

      3.2、用pd.merge()右连接

      在这里插入图片描述

      3.3、用pd.merge()外连接

      在这里插入图片描述

      4、记录处理

      A、记录抽取

      记录抽取:指根据一定的条件,对数据进行抽取

      在这里插入图片描述

      4.1、比较运算

      结果都是

      在这里插入图片描述

      4.2、范围运算
    wps office 官方下载地方(wps官网首页登入)
      在这里插入图片描述

      4.3、空值匹配

      在这里插入图片描述

      4.4、根据关键字过滤

      在这里插入图片描述

      在这里插入图片描述

      B、随机抽样

      随机抽样:随机从数据中,按照一定的行数或者比例抽取数据

      在这里插入图片描述

      4.1、按个数抽样

      4.2、按百分比抽样

      4.3、可放回的抽样

      4.4、分层抽样

      用按个数抽样

      wps office 官方下载的入口怎么找在这里插入图片描述

      用按比例抽样

      在这里插入图片描述

      C、记录合并

      记录合并:指将两个结构相同的数据框,合并成一个数据框

      在这里插入图片描述

      4.1、数据框结构相同时的合并

      在这里插入图片描述

      4.2、数据框结构不同时的合并

      在这里插入图片描述

      5、其余操作

      A、简单计算

      简单计算:指通过对已有字段进行加减乘除等运算,得到新的字段

      在这里插入图片描述

      B、数据标准化

      数据标准化:指将数据按比例缩放,使之落入到特定区间,方便不同变量的比较关系:聚类分析,主成分分析等。

      0-1标准化(方便十分制,百分制的换算): $ x^* = frac{x – min}{max -min}$

      在这里插入图片描述

      在这里插入图片描述

      C、数据分组

      数据分组:根据数据分析对象的特征,按照一定的数值指标,把数据分析对象划分为不同的区间进行研究,以揭示其内在的联系和规律性。

      在这里插入图片描述

      5.1、用df.groupby()按字段值分组(定性分组)

      在这里插入图片描述

      注意

      用来获取分组记录用来获取分组的某一列,方便对分组后的该列进行统计分析

      5.2、用pd.cut按区间分组(定量分组)

       wps的的官网最新下载的入口是多少在这里插入图片描述

      5.3、用pd.cut按区间自定义标签分组(定量分组)

      在这里插入图片描述

      D、时间处理

      时间转换:指将字符型的时间格式数据,转换成为时间型数据的过程时间格式化:将时间型数据,按照指定格式,转为字符型数据时间属性抽取:指从日期格式里面,抽取出需要的部分属性

      5.1、用to_datetime()时间转换

      wps的电脑版下载的地址在哪里在这里插入图片描述

      5.2、用dt.strftime()格式化时间

      在这里插入图片描述

      5.3、用dt.xx抽取时间属性

      E、时间抽取

      时间抽取:指根据一定的条件,对时间格式的数据进行抽取

      根据索引进行抽取根据时间列进行抽取

      在这里插入图片描述

      5.1、时间处理

      在这里插入图片描述

      5.2、按索引抽取

      5.3、按时间列(dateTime)抽取

      在这里插入图片描述

      在这里插入图片描述

      注意区别两种时间抽取的方法:一种是按索引列抽取,另一种是按非索引列抽取。

      6、虚拟变量

      虚拟变量:也叫离散特征编码,可用于表示分类变量,非数量因素可能产生的影响。

      离散特征的取值之间有大小的意义(eg:尺寸(L,XL,XXL)

      用来处理

      离散特征的取值之间没有大小的意义(eg:颜色(Red,Blue,Green)

      用来处理(dummy仿制品)

      在这里插入图片描述

      6.1、Series.map()处理有大小关系的离散变量

      在这里插入图片描述

      6.2、pd.get_dummies()处理无大小关系的离散变量

      在这里插入图片描述

  • WPS office官网最新的下载的地址的方法

      wps免费版的下载地址在哪里 wps 的官网下载地方是什么在这里插入图片描述

      Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,享有数据分析“三剑客之一”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它的目标是成为强大、灵活、可以支持任何编程语言的数据分析工具。尽管pandas采用了很多NumPy的代码风格,但pandas主要用于处理表格型或异质型数据,NumPy主要用于处理同质型数据。wps官网最新下载网址是多少

      1.1 Series对象

      Series是一种一维的数组型对象,和NumPy中的多维数组对象ndarray有所区别。Series包含一个值的序列和索引(index),默认生成的索引是从0开始到数据个数减一

      生成Series对象前的数组可以自己创建一个索引序列,索引序列位会和数组数据位一一对应,这就简单实现了NumPy中间接排序的小环节。Pandas继承了NumPy很多的特性,比如数组的广播,而且Pandas在使用函数或者进行其他操作时总是与索引密不可分,比如利用布尔值数组进行过滤依然保存索引值的连接

      当我们将Python内建的字典传入来生成Series对象时,我们会发现字典中的key值自动默认为索引序列,字典中的value值自动默认为数组元素,字典中的每个键值对就组成一个基础的数组。

      上述程序中,因为字典中的键中缺少’Jackson,所以当返回’Jackson’作为索引值的数据时终端打印了NaN值(not a number),这是pandas中标记缺失值或NA值的方式。

      为了方便快速查找数组的缺失数据,我们可以利用pandas的isnull函数和notnull函数,它们会返回布尔序列来帮助我们判断NaN值。Series对象自身和其索引都带有name属性,就像给人起个名字一样,pandas的name属性为数据的归类统一提供了可操作性。
    WPS office电脑版的下载网址在哪里
      1.2 DataFrame对象

      DataFrame表示的是矩阵的数据表,它包含已排序的列集合,每一列可以是不同的值类型(数值,字符串,布尔值等),利用DataFrame对象就可以轻而易举实现NumPy结构化数组的操作。DataFrame既有行索引也有列索引,它可以被视为一个共享相同索引的Series字典

      最常用的构建DataFrame对象的方式是传递一个字典,无论内容是列表还是NumPy数组。DataFrame的行索引默认是数字,当然你也可以根据数据归类的要求来传递DataFrame对象的行索引。当我们传递的数组元素或索引没有包含在字典里也会生成缺失值NaN

      巧妙的利用DataFrame设置的各种索引,比如行也可以通过位置和特殊属性loc进行选取,我们就可以访问我们想要的数据,访问索引返回数据的方式直观上有点像切片。我们也可以利用索引来操作DataFrame内部的元素。

      当我们用列表赋值给DataFrame对象的新一列要确保值的长度和DataFrame的长度相匹配;当我们将Series赋值给某一列,DataFrame对象会根据自身索引重排Series对象的索引,并填充缺失值。

      利用是非判断也可以为DataFrame新增一列,这列会变成布尔序列,这种操作经常用来对数据进行二分搜查。del关键字用于删除DataFrame对象的列

      假如我们传递一个嵌套的字典来生成DataFrame对象,pandas会将字典的键作为列,将内部字典的键作为索引,分级索引的方式类似于NumPy的多维数组。DataFrame对象自带NumPy数组的T属性,可以直接进行轴转置操作;DataFrame的values属性会将包含在DataFrame的数据以二维ndarray形式返回。

      1.3 索引对象

      pandas中的索引对象用于储存轴标签和其他元数据,在构造DataFrame时,所使用的任意数组或标签序列都可以在内部转化为索引对象。

      与Python集合不同,pandas索引对象可以包含重复标签。以下是pandas索引对象的属性和方法汇总

      在这里插入图片描述

      2.1重建索引

      重建pandas对象的索引方法有很多种,最常用的方法是reindex。当Series对象调用reindex方法时,会将数据按新的索引进行排列,不存在会填充缺失值NaN;当DataFrame对象调用reindex方法则会根据传递的参数改变行索引和列索引

      DataFrame对象调用reindex默认是重建行索引,也可以通过传递关键字columns重建列索引。对于顺序数据,我们重建索引时可能需要插值或填值。method参数允许使用多种方法在重建索引时插值,比如ffill方法会将值向前填充

      参数描述keys包含行索引或列标签的字符串或列表method指定填充索引时使用的方法,仅用于增加/减少索引copy所有新索引与旧索引相同时是否返回新对象level匹配MultiIndex级别的简单索引,否则选择子集fill_value指定用于缺少值的值limit当前向填充或后向时,所需填充的最大尺寸间隙(以元素数量为参考)tolerance当前向填充或后向时,所需填充的不精确匹配下的最大尺寸间隙(以绝对数字距离为参考)

      2.2 轴向上删除条目

      在pandas对象的轴向上删除条目非常快捷,我们只需要用drop方法,通过传递元组来对指定条目进行删除。对于DataFrame对象来说,我们可以利用NumPy之前的轴参数axis来指定轴进行操作。

      在DataFrame对象中调用drop方法时,默认是按标签序列即行来删除,我们可以传递axis=1或axis='columns’来从列进行删除。

      2.3 索引切片和选择

      Series对象的索引和NumPy数组的索引功能类似,即使我们将Series对象的索引重置为非数字索引,我们依然可以利用数字索引进行切片,大大拓宽数组元素索引的多样性,值得注意的是Series的标签切片是包含结尾的

      DataFrame对象作为数据表所以索引切片的方式更加多样,除了基本的行列标签索引切片,同样也支持整数索引切片,简单来说DataFrame的索引就是Series对象索引的二维拓扑,而且还自带很多buff加成。

      DataFrame对象通过比较大小会返回一个布尔值的列表,经常用于数据的过滤。

      针对DataFrame在行上的标签索引,我们可以利用特殊索引符号loc和iloc,它们可以通过轴标签或整数标签以NumPy的风格语法从DataFrame对象选出数组的行和列的子集

      下面是DataFrame对象索引选项的汇总

      类型描述df[val]选取DataFrame的单个列或一组列df.loc[val]根据标签选取DataFrame的单行或多行df.loc[:, val]根据标签选取单列或多列df.loc[val1, val2]同时选取行和列的一部分df.iloc[where]根据整数的位置选择单行或多行df.iloc[:, where]根据整数的位置选择单列或多列df.iloc[where_i, where_j]根据整数的位置选择行和列df.at[label_i, label_j]根据行列标签选择单个标量df.iat[i, j]根据行列整数的位置选择单个标量get_value, set_value根据行和列标签设置单个值

      2.4 运算方法和数据对齐

      pandas在不同索引的对象之间进行运算时采用数据对齐的模式,比如当两个Series对象相加时索引对不相同,会返回索引对的并集的Series对象,但索引位对不上号的元素会变为缺失值NaN,同理DataFrame对象之间的相互操作也会遵循这种法则

      正常来说NaN缺失值和对应索引位的值进行运算也会返回NaN缺失值,所以在DataFrame对象上使用add方法就可以进行数据填充。pandas自带的运算函数能基本满足简单的算术需求

      以下是运算方法汇总

      方法描述add, radd加法sub, rsub减法div, rdiv除法floordiv, rfloordiv整除mul, rmul乘法pow, rpow幂次方

      DataFrame和Series之间的操作原理类似NumPy中的广播,广播最重要的原则就是轴长度的相互匹配,pandas中的广播还需要索引相匹配,我们可以通过传递axis的参数来指定轴进行广播

      2.5 函数应用和映射

      NumPy中的一元二元通用函数(ufunc)在pandas对象中同样适用,比如可以求绝对值的函数abs。DataFrame对象中经常使用apply方法来将通用函数应用到一维数组上,这样我们就可以组合通用函数形成更加复杂的函数应用于数据统计于分析

      编写复杂的NumPy函数时,我们会使用lambda表达式,lambda 函数在 Python 编程语言中使用频率非常高,使用起来非常灵活、巧妙。lambda 函数是匿名的,它有输入和输出,也拥有自己的命名空间

      上述代码中我们利用lambda表达式编写最大差值函数和浮点数精度函数,其中也使用applymap方法,效果和apply方法差不多

      2.6 数据排序和排名

      根据某些准则对数据集进行排序是一种重要的内建操作,pandas对象中可以使用sort_index方法按行或按列对索引进行字典型排序,会返回一个新的索引对象。sort_index方法默认是将行的索引进行排序,我们也可以传递axis参数将列的索引排序

      pandas对象中也可以通过sort_values方法根据数据值进行排序,默认数值排序和索引排序都是升序,索引排序也可以通过传递ascending=False来实现降序排列

      排名是指对数组从1到有效数据点总数分配名次的操作,通过rank方法给Series对象和DataFrame对象的每个组分配平均排名。如果数组元素有相同的情况,默认的平均排名方法就会取排名值的平均值,所以会出先小数

      我们可以传递method的方法参数实现不同的排名效果,以下是汇总

      方法描述‘average’默认值,每个组中分配平均排名‘min’对整个组使用最小排名‘max’对整个组使用最大排名‘first’按照数据出现位置的次序分配排名‘dense’组间排名总是加1,类似于’min’

      3.1常用的统计方法

      pandas对象封装了一个常用数学、统计学方法的集合,大部分属于归约或汇总统计的类别。这些方法内建处理缺失值的功能,我们处理数据时就不需要过多担心缺失值NaN的存在WPS office官网最新的下载方法的方法

      我们可以通过禁用skipna来实现统计时不排除NaN值,以下是归约方法常用可选参数列表

      方法描述axis归约轴,0为行向,1为列项skipna排除缺失值,默认为Truelevel针对轴是多层索引,缩减分层级数

      除了归约方法,比如idxmin和idxmax返回最小值或最大值的索引值,还有累积型方法,还有一类方法describe可以一次性产生多个汇总统计

      在这里插入图片描述

      在这里插入图片描述

      3.2 相关性和协方差

      协方差(Covariance)能反映两个样本/变量之间的相互关系以及之间的相关程度, 期望值分别为E[X]与E[Y]的两个实随机变量X与Y之间的协方差Cov(X,Y)定义为:

      在这里插入图片描述

      相关系数(Correlation coefficient)能反映两个样本/样本之间的相互关系以及之间的相关程度

      

      其中,Cov(X,Y)为X与Y的协方差,Var[X]为X的方差,Var[Y]为Y的方差

      书中爬取并分析 Yahoo! Fiannce(雅虎金融)的股票价格和成交量,为获取金融数据需要安装pandas_datareader包和fix_yahoo_finance包

      书中为了获得一些股票行情,使用了pandas_datareader模块下载一些数据

      Series中的corr方法用于计算两个Series对象中重叠的、非NaN值的、按索引对齐的值的相关性,cov方法计算的是协方差

      3.3 唯一值、计数和成员属性

      在NumPy中我们也遇到过计算唯一值的方法,同样在pandas中也适用。unique函数会给出Series对象中的唯一值,value_counts函数用于计算Series对象中包含的值的个数

      下面是唯一值、计数和成员属性有关的方法汇总

      方法描述isin计算表征Series中每一个值是否包含于传入序列,返回布尔值数组match计算数组每个值的整数索引,形成一个唯一值数组,有助于数据对齐和join类型操作unique计算Seriess值中的唯一值数组,按照数据出现的先后次序返回value_counts返回一个Series,值是计数个数,按照降序排序

      以上就是今天笔记的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法,继续学习pandas进阶