当前位置 博文首页 > m0_51723227的博客:numpy和pandas

    m0_51723227的博客:numpy和pandas

    作者:[db:作者] 时间:2021-08-09 10:01


    typora-copy-images-to: upload


    01 numpy的基本属性与方法

    1. numpy数组的创建

    • 直接使用array转换列表
    • zeros(shape, dtype)创建全部为0的数组
    • ones(shape, dtype)创建全部为1的数组
    • full(shape, value, dtype)创建值全部为某一个数字的数组
    • arange(始,终,步长).reshape(shape)创建某个范围规定形状的数组
    • random.random(shape)创建指定形状的0到1的随机小数
    • 使用eye(value,dtype) 创建单位数组,对角线是1,并且是正方形. value是正方形长度
    • diag(list, k=0) 创建指定对角线的单位矩阵,k>0时候往上移动,k<0往下移动

    例子: array转换:

    image-20210131203547216

    例子:zeros 和 ones 生成:

    image-20210131204653926

    例子:full生成全是某一个数字的数组:

    image-20210131204930533

    例子:arange().reshape()生成有序整数列的数组:

    image-20210131205429346

    例子:random.random()生成指定形状的0到1的随机数组

    image-20210131205634007

    例子: eye创建单位矩阵

    image-20210131210915712

    例子:使用diag()创建指定对角线的单位矩阵

    image-20210131211618316

    2.numpy(array)的属性

    • ndim 查看维度

    • shape 查看形状

    • size 查看有多少种元素

    • dtype 查看数据类型

    例子:全部演示

    image-20210131212040357

    3.数组的索引操作

    • 一维数组索引取值与列表一样
    • 二维数组索引取值有两种方法
    • 多维数组以此类推

    image-20210131220733359

    image-20210131220749424

    • 迭代数组的行列
      • 这里有个知识点 array.transpose() 等于 array.T 即把数组转置过来

    image-20210131221533292

    • 迭代数组每个元素
      • array.flatten() ----把数组的多行转换为一行 等于 array.flat

    image-20210131222000709

    4.numpy的基本运算

    • 与MATLAB不一样的是,在numpy中, + - * /都是直接作用于对应的元素
      • 而想要实现矩阵乘法则是使用dot()函数

    image-20210201203106256

    image-20210201203428137

    • numpy的自带三角函数运算但是注意这里自动采用弧度制

    image-20210201203923173

    • numpy判断元素的大小

    image-20210201220449841

    5.numpy的合并

    • 垂直合并和横向合并(vstackhstack)

    image-20210201221704920

    • 实现单排横向数组变成竖直状态

    image-20210201222606427

    没注意,上面打错了,注释里面多打印了一个int.

    image-20210201223352653

    6.numpy计算最值,平均数,标准差,极差,方差

    • 最值

    image-20210201224235249

    • 平均数 中位数 方差 极差 标准差 累加和

    image-20210201230056198

    • 累加和

    image-20210201230410424

    • argmix() argmax() 返回最大值的索引,不加轴时候,按照列表索引,加时候,每一轴索引

    image-20210202075752360

    7.其他一些比较常用函数

    • sort() 默认逐行排序,可以加轴
      linspace(始,终,端点数)
      clip(array,min,max) 小于min的值用min表示,大于max的值用max表示

    image-20210202081225647

    image-20210202081248500

    02 pandas的基本属性与方法

    1.读取文件和显示文件信息

    • **使用pd.read_csv(path,encoding="")读取文件,这里最好用gbk,因为csv文件默认gbk编码 **
    • 使用df.head(number)显示前number排数据.
    • 使用df.info()显示数据表详细信息

    image-20210202095712493

    显示详细信息

    image-20210202095813788

    2.pd.Series(object,index="",columns="") 简单叙述就是竖直的列表有索引 索引用列表接收

    • 可以转化列表
      • 把列表的每一个元素作为行内容
    • 可以转化字典
      • 把字典的key当成行索引,value当成行内容

    image-20210202131707531

    • 同时Series()还可以类似字典可以通过名字读取值,类似列表通过所以取值

    image-20210202131958819

    3.Series()的文本处理

    有时候文本开头结尾可能含有空格,我们查找时候不容易注意,然后就收到报错,例子:

    image-20210202134231037

    索引 "name"报错,因为仔细看其实name后面有空格.因此采用str.strip()

    • str.strip() 去除字符两端的空格

    image-20210202134832105

    前面忘记写了,pandas有 index和columns属性,分别是行索引和列索引

    • 结合相关条件可以进行条件筛选

    image-20210202135111498

    4.DataFrame(data,index,columns)的运用

    1.DataFrame()的创建

    • 通过read_csv()读取文件,返回df格式

    image-20210202135832443

    • 通过转化字典,key作为列索引,value作为行索引

    image-20210202135959686

    • 通过转化列表 列表的嵌套列表作为行内容,索引自定义

    image-20210202140317533

    5.DataFrame的数据处理

    1.数据的增删改查

    类似字典的增删改查

    image-20210202142749938

    image-20210202143357433

    image-20210202143510070

    • 删除

    image-20210202143653217

    2.条件筛选

    • 可以使用条件语句加 |&

    image-20210202144316962

    上述意思是显示满足"residual sugar">5.0 且 “total sulfur dioxide” < 180.0的前8排

    image-20210202144546716

    上述意思是显示满足"residual sugar">5.0 且 “free sulfur dioxide” < 30.0的前8排

    • 可以求和等操作

    image-20210202145020298

    3.缺失值的处理

    • 处理缺失值有两种方式:

      • 删除该行
      • 使用numpy.nan填充缺失值
    • 检测缺失值 pd.isnull(df)
      pd.isnull(df[“columns”])
      有则返回True 无则返回False

    image-20210202150148898

    • 删除缺失值的行

    df.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
    subset 作用是指定某一列,如果该列有缺失值,就删除有缺失值的行.未指定就默认删除所有列的缺失值行
    how 等于all时值所有都是缺失值才删除
    thresh 可以给值,比如3 意思是,出现了3次缺失值在删除

    image-20210202151746436

    只删除了"chlorides"列的缺失值

    • 填充缺失值 fillna(value=)
      • 单列填充

    image-20210202152425464

    所有填充

    image-20210202152534550

    4.转化Series()

    image-20210202153703992

    5.loc[“行索引”,“列索引”]

    image-20210202160715012

    6.iloc(n,n)接收纯数字

    image-20210202160853047

    01 numpy的基本属性与方法

    1. numpy数组的创建

    • 直接使用array转换列表
    • zeros(shape, dtype)创建全部为0的数组
    • ones(shape, dtype)创建全部为1的数组
    • full(shape, value, dtype)创建值全部为某一个数字的数组
    • arange(始,终,步长).reshape(shape)创建某个范围规定形状的数组
    • random.random(shape)创建指定形状的0到1的随机小数
    • 使用eye(value,dtype) 创建单位数组,对角线是1,并且是正方形. value是正方形长度
    • diag(list, k=0) 创建指定对角线的单位矩阵,k>0时候往上移动,k<0往下移动

    例子: array转换:

    image-20210131203547216

    例子:zeros 和 ones 生成:

    image-20210131204653926

    例子:full生成全是某一个数字的数组:

    image-20210131204930533

    例子:arange().reshape()生成有序整数列的数组:

    image-20210131205429346

    例子:random.random()生成指定形状的0到1的随机数组

    image-20210131205634007

    例子: eye创建单位矩阵

    image-20210131210915712

    例子:使用diag()创建指定对角线的单位矩阵

    image-20210131211618316

    2.numpy(array)的属性

    • ndim 查看维度

    • shape 查看形状

    • size 查看有多少种元素

    • dtype 查看数据类型

    例子:全部演示

    image-20210131212040357

    3.数组的索引操作

    • 一维数组索引取值与列表一样
    • 二维数组索引取值有两种方法
    • 多维数组以此类推

    image-20210131220733359

    image-20210131220749424

    • 迭代数组的行列
      • 这里有个知识点 array.transpose() 等于 array.T 即把数组转置过来

    image-20210131221533292

    • 迭代数组每个元素
      • array.flatten() ----把数组的多行转换为一行 等于 array.flat

    image-20210131222000709

    4.numpy的基本运算

    • 与MATLAB不一样的是,在numpy中, + - * /都是直接作用于对应的元素
      • 而想要实现矩阵乘法则是使用dot()函数

    image-20210201203106256

    image-20210201203428137

    • numpy的自带三角函数运算但是注意这里自动采用弧度制

    image-20210201203923173

    • numpy判断元素的大小

    image-20210201220449841

    5.numpy的合并

    • 垂直合并和横向合并(vstackhstack)

    image-20210201221704920

    • 实现单排横向数组变成竖直状态

    image-20210201222606427

    没注意,上面打错了,注释里面多打印了一个int.

    image-20210201223352653

    6.numpy计算最值,平均数,标准差,极差,方差

    • 最值

    image-20210201224235249

    • 平均数 中位数 方差 极差 标准差 累加和

    image-20210201230056198

    • 累加和

    image-20210201230410424

    • argmix() argmax() 返回最大值的索引,不加轴时候,按照列表索引,加时候,每一轴索引

    image-20210202075752360

    7.其他一些比较常用函数

    • sort() 默认逐行排序,可以加轴
      linspace(始,终,端点数)
      clip(array,min,max) 小于min的值用min表示,大于max的值用max表示

    image-20210202081225647

    image-20210202081248500

    02 pandas的基本属性与方法

    1.读取文件和显示文件信息

    • **使用pd.read_csv(path,encoding="")读取文件,这里最好用gbk,因为csv文件默认gbk编码 **
    • 使用df.head(number)显示前number排数据.
    • 使用df.info()显示数据表详细信息

    image-20210202095712493

    显示详细信息

    image-20210202095813788

    2.pd.Series(object,index="",columns="") 简单叙述就是竖直的列表有索引 索引用列表接收

    • 可以转化列表
      • 把列表的每一个元素作为行内容
    • 可以转化字典
      • 把字典的key当成行索引,value当成行内容

    image-20210202131707531

    • 同时Series()还可以类似字典可以通过名字读取值,类似列表通过所以取值

    image-20210202131958819

    3.Series()的文本处理

    有时候文本开头结尾可能含有空格,我们查找时候不容易注意,然后就收到报错,例子:

    image-20210202134231037

    索引 "name"报错,因为仔细看其实name后面有空格.因此采用str.strip()

    • str.strip() 去除字符两端的空格

    image-20210202134832105

    前面忘记写了,pandas有 index和columns属性,分别是行索引和列索引

    • 结合相关条件可以进行条件筛选

    image-20210202135111498

    4.DataFrame(data,index,columns)的运用

    1.DataFrame()的创建

    • 通过read_csv()读取文件,返回df格式

    image-20210202135832443

    • 通过转化字典,key作为列索引,value作为行索引

    image-20210202135959686

    • 通过转化列表 列表的嵌套列表作为行内容,索引自定义

    image-20210202140317533

    5.DataFrame的数据处理

    1.数据的增删改查

    类似字典的增删改查

    image-20210202142749938

    image-20210202143357433

    image-20210202143510070

    • 删除

    image-20210202143653217

    2.条件筛选

    • 可以使用条件语句加 |&

    image-20210202144316962

    上述意思是显示满足"residual sugar">5.0 且 “total sulfur dioxide” < 180.0的前8排

    image-20210202144546716

    上述意思是显示满足"residual sugar">5.0 且 “free sulfur dioxide” < 30.0的前8排

    • 可以求和等操作

    image-20210202145020298

    3.缺失值的处理

    • 处理缺失值有两种方式:

      • 删除该行
      • 使用numpy.nan填充缺失值
    • 检测缺失值 pd.isnull(df)
      pd.isnull(df[“columns”])
      有则返回True 无则返回False

    image-20210202150148898

    • 删除缺失值的行

    df.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
    subset 作用是指定某一列,如果该列有缺失值,就删除有缺失值的行.未指定就默认删除所有列的缺失值行
    how 等于all时值所有都是缺失值才删除
    thresh 可以给值,比如3 意思是,出现了3次缺失值在删除

    image-20210202151746436

    只删除了"chlorides"列的缺失值

    • 填充缺失值 fillna(value=)
      • 单列填充

    image-20210202152425464

    所有填充

    image-20210202152534550

    4.转化Series()

    image-20210202153703992

    5.loc[“行索引”,“列索引”]

    image-20210202160715012

    6.iloc(n,n)接收纯数字

    image-20210202160853047

    cs
    下一篇:没有了