网站地图 | Sitemap | Rss
  • 您当前位置:网站首页 >> Python学习日志 >> Python 数据分析第三方库 Numpy 的安装和使用
  • Python 数据分析第三方库 Numpy 的安装和使用

    iCoA首席特工 逍遥峡谷 发布:2020-02-03 更新:2020-02-05 浏览0条评论
    内容简介

    相关关键词:Python   数据分析   第三方模块   Numpy  

    本文链接:https://www.icoa.cn/a/899.html

    本站文章如非注明皆为原创,未经允许禁止转载。如有问题可以给我留言或发邮件。

    Python 用做数据分析非常强大,但是在性能上或者方便程度上还不够,所以各种第三方数据分析模块和库就应运而生。本文介绍 Numpy 第三方库,使用 Numpy 的原因,性能强大、开源、数组运算、读写迅速。

    更多Python相关文章点击:Python学习日志目录

    Numpy 模块

    Numpy 模块是一个比较底层的数据分析模块,具有高性能、开源、数组运算、读取迅速等优势。

    安装

    pip install numpy -i https://pypi.douban.com/simple

    引入,一般我们引入的时候会给这个模块起一个别名 np

    import numpy as np

    创建 Numpy 数组:

    np.array([])

    data = np.array([1,2,3,4,5,6])

    创建二维数组

    data_2d = np.array([[1,2,3],[3,4,5]])

    为了看起来好看,也可以用下面这张写法

    data_2d = np.array(
        [
            [1,2,3],
            [3,4,5]
        ]
    )

    判断数组是几维数组

    data.ndim

    data = np.array([[1,2,3],[3,4,5]])
    print(data.ndim)

    运行结果:2


    判断数组几维和各维度长度

    data.shape

    data = np.array([[1,2,3],[3,4,5]])
    print(data.shape)

    运行结果:(2, 3)


    创建一个全是0的数组,常用来初始化数组

    np.zeros()

    data = np.zeros(10)
    print(data)

    运行结果:[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]


    创建全是1的数组

    np.ones()

    data = np.ones((3,4))
    print(data)

    运行结果:

    [[1. 1. 1. 1.]

    [1. 1. 1. 1.]

    [1. 1. 1. 1.]]


    数组索引,跟Python列表是一样的,详细可以参考列表索引的例子

    data[n],第n个索引位的数据

    data = np.arange(10)
    print(data)
    print(data[5])

    运行结果:

    [0 1 2 3 4 5 6 7 8 9]

    5


    二维数组索引方法

    data[x,y] / data[x][y],第x个数组第y个索引位置的数据

    data = np.array([[1,2,3], [4,5,6]])
    print(data[0][1])
    print(data[1,1])

    运行结果:

    2

    5


    数组切片,获取数组中某几个数据

    data[start,end],从start开始到end之前的数据(包含start位,不包含end位)。

    data = np.arange(10)
    print(data)
    print(data[3:5])
    print(data[:3])
    print(data[5:])
    print(data[::-1])

    运行结果:

    [0 1 2 3 4 5 6 7 8 9]

    [3 4]

    [0 1 2]

    [5 6 7 8 9]

    [9 8 7 6 5 4 3 2 1 0]


    注意,切片得到的数据是数组的原始数据,对切片数据进行修改,原始数据会被修改。

    data = np.arange(10)
    print(data)
    data_slice = data[3:5]
    # 把数组切片赋值给一个变量
    data_slice[0] = 100
    # 修改这个变量里的值
    print(data)
    # 原始数据改变了

    运行结果:

    [0 1 2 3 4 5 6 7 8 9]

    [  0   1   2 100   4   5   6   7   8   9]


    如果想要修改得到的切片,并且对原始数据没有改变,用到.copy()函数

    data = np.arange(10)
    print(data)
    data_slice = data[3:5].copy()
    # 把数组切片复制一份,赋值给一个变量
    data_slice[0] = 100
    # 修改这个变量里的值
    print(data_slice)
    print(data)
    # 原始数据没变

    运行结果:

    [0 1 2 3 4 5 6 7 8 9]

    [100   4]

    [0 1 2 3 4 5 6 7 8 9]


    变换数组的维度

    data = np.arange(10)
    print(data)
    print(data.reshape((2,5)))
    # 把一维数组变成二维数组,2个数组,每个数组5个数据
    print(data.reshape((2,5)).T)
    # 加上.T,对数组进行转置,就是行变成列,列变成行。

    运行结果:

    [0 1 2 3 4 5 6 7 8 9]

    [[0 1 2 3 4]

    [5 6 7 8 9]]

    [[0 5]

    [1 6]

    [2 7]

    [3 8]

    [4 9]]

    注意,如果不能完整切分原来数组,则会报错。


    Numpy有一些内置的运算

    对数组内的数据进行运算的方法:

    abs 计算绝对值
    sqrt 计算平方根
    square 计算平方
    exp 计算指数e^x
    sign 计算正负号:1、0、-1
    ceil 计算大于等于该数据的最小整数
    floor 计算小于等于该数据的最大整数
    isnan 计算哪些数据是非数字

    使用方法:

    data = np.arange(10)
    print(data)
    data_new = np.sqrt(data)
    # 把数组每个数据求平方根
    print(data_new)

    运行结果:

    [0 1 2 3 4 5 6 7 8 9]

    [0.         1.         1.41421356 1.73205081 2.         2.23606798

    2.44948974 2.64575131 2.82842712 3.        ]


    数组跟数组进行运算

    data1 = np.array([1,3,5,7,9])
    data2 = np.array([2,4,6,8,10])
    print(data1 + data2)
    # 把数组对应索引位的数据进行相加
    print(np.add(data1,data2))

    运行结果:

    [ 3  7 11 15 19]

    [ 3  7 11 15 19]


    数组可用运算

    add 计算两个数组对应数据的和
    subtract 从第一个数组减去第二个数组对应数据
    multiply 计算两个数组对应数据的乘积
    divide 第一个数组对应数据除以第二个数组对应数据
    power 第一个数组数据A,第二个数组数据B,计算A的B次方
    fmax 两个数组对应数据里大的数据
    fmin 两个数组怼赢数据里小的数据


    数组统计运算

    .sum()  将数组内所有数据的和

    data = np.arange(10)
    print(data.sum())

    运行结果:

    45


    可用的数组统计运算方法

    .sum()  数组内数据的和
    .mean()  数组内数据的平均值
    .std()  数组内数据的标准差
    .min() / .max()  数组内数据的最小值和最大值
    .arcmin() / .arcmax()  数组内数据最小值和最大值的索引位置


    数组的排序

    .sort()  对数组内的数据,按照大小进行排序

    data = np.array([1,9,3,6,4])
    data.sort()
    print(data)

    运行结果:

    [1 3 4 6 9]


    数组读取文档中的数据

    data = np.genfromtxt('data.txt',delimiter=',')
    # 读取 data.txt 文档中的数据,后面参数是数据用什么分割(例子中是用,分割)。
    print(data)
    # 输出的是浮点数
    # 可以用.astype(int)转为整数
    data_int = data.astype(int)
    print(data_int)

    运行结果:

    [1. 2. 3. 4. 5. 6.]

    [1 2 3 4 5 6]

    本文链接:https://www.icoa.cn/a/899.html
    关键词: Python   数据分析   第三方模块   Numpy  


    如果您愿意支持本站,欢迎点击打赏哦~


    下一篇:Python 数据分析模块 Pandas 之 Series 数据

    上一篇:安装 Scrapy 以及出现 Twisted 安装错误的解决方法


    - 相关文章 -


    Python 基础知识入门演示 - 2017-12-31

    Python 数据分析模块 Pandas 之 DataFrame 数据 - 2020-02-09

    Python 数据分析模块 Pandas 之 Series 数据 - 2020-02-05

    Python 数据分析第三方库 Numpy 的安装和使用 - 2020-02-03

    安装 Scrapy 以及出现 Twisted 安装错误的解决方法 - 2020-01-19

    Python 如何定时执行任务和应用实例 - 2020-01-09

    案例:使用Python 对Excel表格文档进行批量处理 - 2020-01-08

    案例:用 Python 把最近三个月未修改过的文件进行压缩备份 - 2020-01-07


    - 文章评论 -




    3718

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[0条评论] -


    [>>>点击查看更多评论]

    逍遥峡谷 逍遥乱弹 张立博 爱之路 酷品优选 宝贝派

    版权所有©逍遥峡谷 - 星际中央超自然局·地球总部 | 冀ICP备06033848号
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合
    网络违法犯罪举报