python 如何保留计算过程中的位数_Python数据分析第一节 初步认识NumPy

不管你是否相信,数据分析都在成为未来不可或缺的一项技能。不管你是数据分析小白还是对数据分析有很大兴趣的职场人士,都欢迎将此公众号作为入门数据分析的小帮手~

第一节 初步认识NumPy 

目录

一. 数据分析过程

二. 了解NumPy

三. 什么是数组

四. 多维数组的加减乘除

五. 索引

六. 分片

七. 求数组的平均值,标准差

278617a2de24f1f0a267f250d5c2c113.png

一. 数据分析是一个完整过程,由5个步骤组成:

  1. 分析需求;2. 收集数据;3. 数据整理;4. 分析数据;5. 数据可视化 

这5个步骤中,后三个过程需要借助python数据分析来完成

二. NumPy是什么?

NumPy是一个用于数值运算的Python库,全称是Numerical Python, 它是Python数值计算中最重要的基础模块,专门对数值进行优化。NumPy是针对多维数组的一个科学计算模块,最大的优势是运行高效。

三. 数组

今天,我们主要学习NumPy中的一维数组。首先,我们要弄明白什么是数组。

数组是一系列相同类型数据的集合。光看概念是不是很模糊,

举个?:

[1 2 3]这就是一个简单的数组,由中括号,数字,空格组成。(需要注意的是,python语言所有的符号都是英文符号,所以请记得千万不要输入了中文中括号哟~)

了解了数组的概念和例子,接下来我们需要通过代码生成数组

要创建一个多维数组很简单,将一个列表作为参数传入numpy中的array()方法即可:

如果没有接触过python,你需要了解一下什么是列表,举个例子简单说明一下:像[1,2,3]这种就是一个列表形式。

将列表创建成为多维数组的代码如下:

import numpy as np

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

print(data)

小贴士:一般我们使用import numpy as np 来简写numpy,后面再遇到np一定要知道它指的是numpy哦~

输出的结果为[1 2 3],这就是数组,和列表很像,只不过少了逗号。

接下来介绍两个生成特殊数组的方法

  1.  np.ones

    我们输入代码:

    ones=np.ones(3)

    print(ones)

    输出的结果为[1. 1. 1.]。可见括号里数字是几就会输出几个1.

  2. np.zeros

    类比前面,输入代码:

    zeros=np.zeros(4)

    print(zeros)

    输出的结果为[0. 0. 0. 0.]。可见括号里数字是几就会输出几个0.

需要注意的是,输出的1.和0.代表的是浮点数1.00和0.00。如果我们想让输出的结果为正数的1和0。那么将代码改成np.ones(3, dtype='int')np.zeros(4, dtype='int')即可。修改之后再输出,结果就是[1 1 1]和[0 0 0 0]了

四. 多维数组的加减乘除

这个部分我们只需要写几个代码的例子就一清二楚了

  1. 加法

    data=np.array([1,2])

    ones=np.ones(2)

    print(data+ones)

    输出的结果就是[2 3]

d2be0f9fcfdb32a76dd67a74af54d0b5.png

2. 减法

   data1=np.array([5,9,7])

   data2=np.array([2,6,1])

    print(data1-data2)

   输出的结果就是[3 3 6]

乘法和除法道理一样,我们需要注意的是,互相加减乘除的两个数组必须是相同维度的,否则无法运算。

五. 索引

一个数组[1 2 3 4 5 6], 第一个数字1的索引是0,第二个数字2的索引是1,最后第六个数字6的索引是5。索引的目的是输出数组中的某一个数字。

用代码来直观展示一下

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

print(data[0])

输出的结果就是数组中第一个数字1

补充:反向索引

一个数组[1 2 3 4 5 6],最后一个数字6可以用-1来索引,倒数第二个数字5用-2来索引,第一个数字1就可以用-6来索引

举个例子:

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

print(data[-1])

输出的结果就为最后一个数字3

说明:索引和反向索引的目的是一样的就是为了输出某个数字,根据不同情形,哪样方便我们就用哪个索引方式。

六. 分片

分片的含义其实就是输出数组中的某一范围

代码也很简单,假设我们要输出[1 2 3 4 5 6]数组中前三个数字组成的数组

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

print(data[0:3])

输出的结果为[1 2 3]

我们来仔细研究一下data[0:3]这个代码,0代表数组第一个数字,3代表数组第四个数字,所以要注意分片的写法是一个左闭右开的区间!

另外说明一下,当取到数组最左边的时候,我们可以将范围区间左边的0去掉,如上例也可以写成data[:3]; 同样最右边数字取到的时候也是可以不写索引的。如输出上面数组的后两个数字组成的数组,我们可以写成data[-2:]即可。

还有一个小技巧,分片支持加入第三个参数---步长。即分片时每隔几个数字取一个值,步长的默认值为1。

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

print(data[1:7:2]

输出的结果为[2 4 6]

当步长为负数时,会将顺序反转。我们可以利用这个特性将数组快速的反转

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

print(data[ : :-1])

输出的结果为[6 5 4 3 2 1]

七. 求平均值,标准差

先给大家把求一些参数的语言列示出来,之后再进行讲解

1c30d5ce011c48f4a4b66b65d3a0a246.png

我们来算一下三个运动员成绩的平均值

player1 = np.array([7, 9, 10, 9, 11, 13, 10, 10, 11, 10])
player2 = np.array([7, 9, 8, 9, 11, 10, 11, 12, 10, 13])
player3 = np.array([3, 7, 10, 3, 6, 30, 10, 7, 11, 13])

代码如下

print('球员1得分的平均数为', player1.mean())

print('球员2得分的平均数为', player2.mean())

print('球员3得分的平均数为', player3.mean())

我们发现这三个输出的结果都为10.0

我们不能单单靠平均值来决定谁好谁坏,那么接下来我们可以利用中位数和标准差来进一步分析

算中位数代码如下:

print('球员1得分的中位数为', np.median(player1))

print('球员2得分的中位数为', np.median(player2))

print('球员3得分的中位数为', np.median(player3))

另外,我们还需要算一下标准差

代码如下:

print('球员1得分的标准差为', np.std(player1))

print('球员2得分的标准差为', player2.std())

print('球员3得分的标准差为', player3.std())

今天,我们认识了 numpy 中的多维数组,并学习了多维数组中最简单的一维数组的基本运算和通用方法。多维数组和列表有很多相似的地方,但它比列表更加的简洁和高效。

下一节,我们将进一步认识 numpy,并学习二维数组的用法及 numpy 中的实用方法。

不管你是否相信

数据分析都在成为

未来必备的一项技能

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值