【numpy模块上}——数据分析01

目录索引

  • ==介绍:==
  • 用处与特点:
  • 构成:
  • ==导包:==
    • 创建数组:
  • ==numpy常用方法:==
    • 常用属性查看:
      • *获取秩的大小:*
      • *获取数组形状:*
      • *获取元素个数:*
      • *获取元素类型:*
      • *获取占用字节数:*
      • *制定数据类型:*
    • 创建数组的常用方法:
      • *arange():*
      • *linspace():*
      • *ones():*
      • *zeros():*
      • *full():*
      • *eye():*
      • *random.rand():*
        • 不写参数:
        • 二维:
        • 三维:
        • 随机值范围为a-b:
  • ==numpy中支持的数值型的数据类型:==

介绍:

numpy就是一个便于科学计算的第三方库,常运用于数据分析和大量运算。比如矩阵等…

【numpy模块上}——数据分析01_第1张图片

用处与特点:

  • 提供了n维数组(ndarray)
  • 数组由同质元素(相同的元素类型)构成,且元素数量(几行几列)是事先定好的。

构成:

  1. 轴(axes):类似于x轴、y轴。如图就是两个轴,第0轴和第1轴(轴从0开始数)
    【numpy模块上}——数据分析01_第2张图片
  2. 秩(rank,用ndim属性来获取)——:就是数组的维数,也是轴的数量(从1开始数)
  3. 大小(size):数组中元素的个数
  4. 形状(shape):就是数组有几行几列
  5. 类型(dtype):数组中元素的类型
  6. 元素大小(itemsize):数组中单个元素占用的字节数

【numpy模块上}——数据分析01_第3张图片

对于多维数组的理解:用串糖葫芦来理解,二维数组的一个轴每穿过一个元素都是一维数组。
三维数组的一个轴每穿过一个元素都是二维数组。
那么四维数组的一个轴每闯过一个轴都是三维数组。同理类推...
在python的语法中,方括号中每一个元素是n维数组,它就是n+1维数组

导包:

一般都会对numpy库进行更名处理,便于之后使用

import numpy as np

创建数组:

语法:

"""
注意:括号里面还要用中括号,因为至少是一个一维数组。中括号里面每一个元素由n维数组构成,
它就是n+1维数组。别忘了最外层永远有一个中括号
"""
变量名 = np.array([])

演示:

arr = np.array([1,2,3])
arr1 = np.array([[1,2,3],[4,5,6]])#创建二维数组,每一个元素都是一维数组,所以它创建的就是二维数组

numpy常用方法:

常用属性查看:

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

获取秩的大小:

通过数组的ndim属性来获取秩的大小

print(arr.ndim) #2

获取数组形状:

通过数组的shape属性来获取形状

print(arr.shape) #(2, 3)

获取元素个数:

通过数组的size属性来获取元素个数

print(arr.size) #6

获取元素类型:

通过dtype属性来获取元素类型

print(arr.dtype) #int32

获取占用字节数:

通过数组的itemsize属性来获取单个元素的占用字节数

print(arr.itemsize) #4

制定数据类型:

在括号里面添加dtype属性,注意等于的后面更改属性也要加上np.

arr1 = np.array([[6,7,8],[9,10,11]],dtype=np.int64) #指定类型

创建数组的常用方法:

arange():

可以类比于range()函数,不同的是arange()支持浮点数。第一个参数是起始值,第二个参数是终止值(不包括),第三个参数是步长

实例演示:

import numpy as np
arr = np.arange(1,10,2)
arr1 = np.arange(10.0)
arr2 = np.arange(5)
print(arr)
print(arr1)
print(arr2)

【numpy模块上}——数据分析01_第4张图片

linspace():

可以创建均分的数组,默认包含终止值,第三个参数不是步长而是最终分割成的个数,可以是浮点数

实例演示:

import numpy as np
#把从1到10的数据之间分割成n份
arr = np.linspace(1,10,3)#分成三份
arr2 = np.linspace(1,10,7)#分成七份
arr3 = np.linspace(1,10,20)#分成二十份
print(arr)
print(arr2)
print(arr3)

【numpy模块上}——数据分析01_第5张图片

ones():

用来创建全是1的数组,括号里写的是数组的形状,默认支持浮点数

实例演示:

import numpy as np
arr = np.ones(5)
arr1 = np.ones((2,3))#别忘了数组的形状要用小括号包裹
print(arr)
print(arr1)

【numpy模块上}——数据分析01_第6张图片

zeros():

用来创建全是0的数组,括号里写的是数组的形状,默认支持浮点数

实例演示:

import numpy as np
arr = np.zeros(5)
arr1 = np.zeros((2,3))#别忘了数组的形状要用小括号包裹
print(arr)
print(arr1)

full():

用来创建全是指定参数的数组,第一个参数写的是数组的形状,第二个参数写的是指定数默认支持浮点数

实例演示:

import numpy as np
arr = np.full((2,3),9)
arr1 = np.full((4,7),3.3)
print(arr)
print(arr1)

【numpy模块上}——数据分析01_第7张图片

eye():

用来创建N行M列的单位数组,M省略时创建N行N列的单位数组(从第一列开始依次变1,其他都为0)

实例演示:

import numpy as np
arr = np.eye(3,3)
arr1 = np.eye(4,5)
print(arr)
print(arr1)

【numpy模块上}——数据分析01_第8张图片

random.rand():

用来创建n维数组,元素为0-1之间的随机小数。里面的参数写的是数组的形状,有几个参数就是几维数组,不需要写括号

不写参数:

#随机生成0-1之间的小数
arr = np.random.rand()
print(arr)

【numpy模块上}——数据分析01_第9张图片

二维:

import numpy as np
arr = np.random.rand(2,3)#第0轴元素数量为2,第1轴的元素数量为3.总共是二维
print(arr)

【numpy模块上}——数据分析01_第10张图片

三维:

import numpy as np
arr = np.random.rand(2,3,3)#第0轴元素数量为2,第1轴的元素数量为3.第2轴的元素数量为3总共是三维
print(arr)

【numpy模块上}——数据分析01_第11张图片

至于更多维度就以此类推

随机值范围为a-b:

import numpy as np
a = 5
b = 10
arr = a + (b-a) * np.random.rand(2,3) #随机数范围为5-10
print(arr)

【numpy模块上}——数据分析01_第12张图片

numpy中支持的数值型的数据类型:

数据类型(Data Type) 描述(Description)
int8, uint8 符号和无符号的8位(1个字节)整型
int16, uint16 符号和无符号的16位(2个字节)整型
int32, uint32 符号和无符号的32位(4个字节)整型
int64, uint64 符号和无符号的64位(8个字节)整型
float16 半精度浮点数:符号位,5位指数,10位尾数
float32 单精度浮点数:符号位,8位指数,23位尾数
float64 or float 双精度浮点数:符号位,11位指数,52位尾数
complex64 两个32位浮点数(实数和虚数)
complex128 or complex 两个64位浮点数(实数和虚数)

注意: int, float和complex_代表与平台相关的标准整数,浮点数和复数类型,这些类型在32位平台上和int32, float32, complex64一样,64位平台上和int64,float64,complex128一样。

你可能感兴趣的:(python之数据分析,numpy,数据分析,python)