数据分析-Numpy学习笔记01

Numpy库介绍

  1. numpy内置并行运输功能,当系统有多个核心时,做某种计算时,numpy会自动做并行计算。
  2. numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受python解释器的限制,效率远高于纯Python代码

numpy数组和python列表性能对比

import numpy as np
import time

t1 = time.time()
a = []
for x in range(100000):
    a.append(x**2)
t2 = time.time()
print(t2-t1)

t3 = time.time()
b = np.arange(100000)**2
t4 = time.time()
print(t4-t3)

数据分析-Numpy学习笔记01_第1张图片

numpy数组介绍

  1. 数组中的数据类型都是一致的,要么都是整形,要么都是浮点型,要么都是字符串类型 不能同时出现多种数据类型
  2. help(np.array)查看使用方法

创建数组的四种方式

1.根据python中的列表生成:

import numpy as np
a1 = np.array([1,2,3,4])
print(a1)

2.使用np.arange生成,np.arange的用法类似于python中的range:

a2 = np.arange(10)
a2

3.使用np.random 生成随机数的数组:

a1 = np.random.random(2,2) #生成2行2列的随机数的数组
a2 = np.random.randint(0,10,size=(3,3))#元素是从0-10之间随机的3行3列的数组

4.使用函数生成特殊的数组:

a1 = np.zeros((2,2)) #生成一个所有元素都是0的2行2列的数组
a2 = np.ones((3,2)) #生成一个所有元素都是1的3行2列的数组
a3 = np.full((2,2),8)#s生成一个所有元素都是8(8是可以随意指定的数)的2行2列的数组
a4 =  np.eye(3) #生成一个斜方形上元素为1 其他元素都为0的3x3的矩阵

数据分析-Numpy学习笔记01_第2张图片

Numpy数组类型dtype

  1. 为什么Numpy的数组中有那么多的数据类型呢?
    Numpy本身是基于c语言编写,C语言中本身就是有很多数据类型,所以直接引用过俩了
    Numpy为了考虑到处理海量数据的性能,针对不同的数据给不同的数据类型,来节省内存空间,所以有不同的数据类型。
    2.Numpy的数组的元素有哪些数据类型?
    | 数据类型 |描述|唯一标识符|
    | bool | 用一个字节存储的布尔类型(True或False) | ‘b’
    | int8 | 一个字节大小,-128-127 |‘i’
    | int16 | 整数(-32768 to 32767) | ‘i2’
    |int32 | 整数,32位整数(-2147483648 to 2147483647) | ‘i4’
    |int64 |整数,64位整数(-9223372036854775808 to 9223372036854775807) |’i8‘
    数据分析-Numpy学习笔记01_第3张图片

设置数组数据类型

数据分析-Numpy学习笔记01_第4张图片

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