• Python数据分析


    Numpy从入门到实战

    第一章

    Numpy是什么

    进行数组/矩阵计算,附带线性代数,傅立叶,随机数等一系列函数

    优势:Python原生要写很多循环,性能慢

    Numpy是很多数据科学类库的基础库,比如SciPy,Scikit-Learn,Tensorflow,PandlePandle等

    第二章 Numpy编程入门

    1.import

    import numpy as np

    2.性能对比

    %timeit a(5)

    第三章 Array对象

    一.Array对象

    array里的数据必须是同一数值类型

    自身属性:

    1.shape,返回一个元组,表示维度里具体有几个元素

    2.ndim,维度数目

    3.size,元素数目

    4.dtype,元素类型

    二.创建

    1.List和嵌套List里创建

    np.array([1,2,3,4,5])
    np.array(
    [
        [1,2,3,4,5],
        [6,7,8,9,19]   
    ]
    )

    2.预制的arange,ones/ones_like,zeros/zeros_like,empty/empyt_like,full/full_like,eye等函数创建

    3.np.random模块创建随机数,比如randn生成指定为度的随机数

    三.Array方法

    1.逐元素加减乘除

    2.面向多维的数组索引

    3.sum/mean等聚合函数

    4.线性代数计算,比如求解方程组,逆矩阵等

    reshape函数:改变维度

    arraa + 1:每个元素都➕1

    第四章.数组按索引查询

    一.基础索引:

    一维与List差不多:

    x:全部

    x[2]:单个

    x[2:4]:切片

    x[2:-1]

    x[-3:]

    x[:-3]

    二维:

    x[0,0]:x[0][0]

    x[2]:单行

    x[:2]:这个返回的是一个一维数组,有转置

    切片会修改原来的数组,直接修改而不是复制得到一个新的

    二.神奇索引:

    整个数组进行索引,数组参数里是相应位置,获取一个新数组

    argsort:排序,返回序列的索引数组

    二维数组

    x[[0,2]]:选择0行2行

    x[[0,2], :]:同上

    x[:, [0,2]]:所有行取0列,2列

    x[[0, 2], [3, 4]]:指定0行2行,3列4列,返回一维数组

    二维数组索引只要指定了行列坐标,就返回一维数字

    三.布尔索引:

    选择数组拷贝,对数组先做比较得到一个bool数组,再应用到数组里去

    x>5:返回一个全是bool值的数组,其值取决于是否比5大

    x[x>5]:返回比5大的数字组成的数组

    二维数组:

    x[x>5]:返回一个一维数组

    条件组合:

    condition = (x > 5) | (x < 4):返回布尔数组

    x[condition]:数组选值

    第五章.random的随机函数

    可以参考官方文档,有三大部分

    1.简单的随机函数

    2.对数组随机打散

    shuffle只打散行

    permutation全打散,并且返回的是数组拷贝

    3.复杂随机函数

    最后一个参数是数据类型(可省略),倒数第二个是维度描述元组

    第六章.数学统计函数

    linspace:生成一个范围内,相应个数的点,均值切割

    sum:和

    prod:乘积

    cumsum:累积加

    cumprod:累积积

    min:最小

    max:最大

    percentile:0-100百分位数

    quantile:0-1分位数

    median:中位数

    average:加权平均

    mean:平均值

    std:标准差

    var:方差

    axis:上面的函数指定轴,计算轴为行还是列。为0是行(聚合韩式是跨行,消解行,而不是在行上计算),为1是列(聚合函数跨列,消解列,而不是在行上计算)。

    可以理解为同性质的一起计算

    广播:两个矩阵数目不一致,比如特征减去平均,要把平均行复制

    标准化:每个列的量纲一致,不要差太大权重无法比较

    Pandas数据分析从入门到实战

    第一章.介绍

    更简单的数据结构,更快的速度,更多的分析工具

    用于数据分析,数据处理,数据可视化

    第二章.读取数据

    读取表格类型的数据,才能分析

    要有行有列

    csv:read_csv

    excel:read_excel

    mysql:read_sql

    引入类库

    import pandas as pd

    读取前几行:

    df.head()

    展现出来的数据,第一列是索引。然后是每个数据的列

    几行几列:

    df.shape()

    columns:列名

    index:索引

    dtypes:每一列类型

    第三章.数据结构:DataFrame和Series

    DataFrame:二维数据,整个表格,多行多列

    Series:一维数据,一行或者一列。包含了数据和数据相关的数据标签(索引)两个数组

    创建Series:

    1.pd.series([])

    index:获取索引

    values:获取数值

    2.参数里index=指定索引

    3.用python字典(hash)创建

    查询Series:

    类似字典,用key即索引获取值

    DataFrame中查询出Series:

    返回一行一列是Series

    返回多行多列还是DataFrame

    df['year']:year是列索引,返回year那一列的Series

    df.loc[1]:查询第一行

    返回多行:用切片,包含了尾部元素

    第四章.5种查询数据的方法

    查询常用函数

    1.loc

    2.iloc

    3.where

    4.query

    loc既能查又能覆写

    降维顺序:

    DataFrame->Series->value

    df.set_index('ymd', True):设置ymd那一列为索引,里边的值获取行

    1.数值

    loc[column1, column2]

    2.列表

    loc[行1, 行2]

    3.区间

    类似切片

    4.条件

    根据bool列表查询

    5.函数

    用lambda表达式代替布尔表达式

     第五章.新增数据列

    1.直接赋值

    2.apply:传func和指定轴,隔行或者隔列

    3.assign:传多个函数按行执行

    4.按条件选择分组,loc方法

    value_counts:个数

    第六章.统计函数

    1.汇总类

    describe函数,全部汇总都计算

    2.唯一去重

    unique

    3.按值计数

    value_counts 

    4.相关系数和协方差

    1.协方差

    是否是同向变化

    cov函数

    2.相关系数

    相似程度,1最相似,-1最不相似

    corr函数

    第七章.对缺失值处理

    1.检测:

    isnull,notnull

    2.丢弃:

    dropna

    3.填充:

    fillna

     第八章.SettingWithCopyWarning

    不知道get的是view还是copy,view的话只读不能写

     解决办法:

    1.loc直接set

    2.先copy再set

    第九章.对数据进行排序

    sort_values

    第十章.对字符串处理

    Series上的str属性,有replace等方法

    slice:切片

    默认支持正则表达式

    第十一章.axis怎么理解

    单行、单列:针对这一行这一列操作

    多行多列:跨行保留列,跨列保留行聚合

    第十二章.index作用

    1.更方便查询

    2.性能提升

    3.自动的数据对齐(自动算矩阵或者向量)

    4.更强大数据支持(CategoricalIndex,MultiIndex,DateTimeIndex)

    set_index设置index

    要先排序index再查询速度快,sort_index

    第十三章.数据merge

    不同DataFrame数据merge成一个大表

    merge类似SQL的join语法

    第十四章.Concat合并

    给DataFrame添加行或者列

    contact:

    append:

    contact特例,直接把行放下面

    高性能:只调用一次,不要调用多次,用集合当参数传入

    第十五章.Pandas批量拆分与合并Excel文件

    iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5]
    loc,则可以使用column名和index名进行定位,如:

    第十六章.分组数据统计

    groupBy函数,对列名聚合,groupBy("a").sum()

    agg:多级索引,一个列名下有多个聚合函数作为列

    可以遍历groupBy的返回值

    plot:画图

    第十七章.MultiIndex

    分层索引:一个轴上有多个索引层级,可以表达更高维度数据的形式

    元祖(key1,key2)代表索引分级

    列表[key1,key2]代表索引同级

    sliece(none):所有索引

    resetIndex:多重索引打散

    第十八章.map,apply, applyMap

    map:对Series处理值到值的映射,参数字典或者函数都可以

    apply:对Series和Dataframe的Series做映射,参数是函数

    applyMap:对DataFrame做映射,参数是函数

    第十九章.groupBy每个apply

    groupBy流程:split,apply,combine

    第二十章.groupBy后的不同列统计

    对某一列排序,可以gropuBy()[列名].agg(),可以可以agg里传入列名为字典的key

    agg:agg(新列名=函数),agg(新列名=(原列名,函数)),agg({原列名,函数/函数列表})

    或者apply生成一个Series

    第二十一章.stack和pivot实现数据透视

    将列式数据变为,二维交叉形式,叫做透视

    unstack:将多维索引引导的数据二维交叉化。index编程column

    stack:与unstack互逆

    pivot:对原始数据指定数据透视的轴,分别是x轴,分类,y轴(先set_index为表格,再unstack)

    第二十二章.日期

    to_datatime:转为日期对象Timestamp

    DatetimeIndex:日期类型索引Timestamp的列表形式

    日期索引缺失

    1.reindex:

    data_range:生成日期范围,作为参数传给reindex

    2.resample:改变采样周期。跟时间粒度和一个聚合函数

    第二十三章.

    【美国微软大神的数据分析课】Pandas vs Excel

  • 相关阅读:
    Coded UI Test(二)创建一个Coded UI Test
    Coded UI Test(一)概述
    面向接口编程思想与实现可维护的代码 (一)
    KMP算法字符串模式匹配算法
    新的博客,新的起点
    第十三章:字符串 《Thinking in java》学习笔记
    稀疏矩阵三元组表来压缩存储及转置
    eclipse svn的使用+小组开发
    第十一章:持有对象 《Thinking in java》学习笔记
    双端队列(deque)课堂跳了的内容
  • 原文地址:https://www.cnblogs.com/cascle/p/12446036.html
Copyright © 2020-2023  润新知