numpy 学习

# numpy 学习
1.了解numpy 特性

2.掌握numpy的使用方法

numpy 官网地址 https://numpy.org/

 NumPy简介

NumPy(NumericalPython)是Python数据分析必不可少的第三方库,NumPy的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数据类型,使其具备了构造复杂数据类型的能力。本身是由C语言开发,是个很基础的扩展,NumPy被Python其它科学计算包作为基础包,因此理解np的数据类型对python数据分析十分重要。NumPy重在数值计算,主要用于多维数组(矩阵)处理的库。用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多。

NumPy重要功能如下:

    高性能科学计算和数据分析的基础包

    ndarray,多维数组,具有矢量运算能力,快速、节省空间

    矩阵运算,无需循环,可完成类似Matlab中的矢量运算

    用于读写磁盘数据的工具以及用于操作内存映射文件的工具
    
    

 NumPy属性
 Numpy主要对象是同类元素,的多维数据,所有元素都是一种类型。
 在Numpy中(dimensions)叫做轴(axes),轴的个数叫做秩(rank)
 
 Numpy的数组类被称为ndarray,通常被称为数组。
 
 ndarray对象属性有:
 
 ndarray.ndmin  数组轴的个数
 
 ndarray.shape   数组的维度
 
 ndarray.size  数组元素的总个数, 就是shape中元组的承积
 
 ndarray.dytpe 用来描述数组中的元素类型,这个是python中的type有区别,不要混淆。
 
 ndarray.itemsize 数组中每个元素字节的大写

**代码示列**

import numpy as np
a = np.arange(15).reshape(3, 5) ## np.arange(15)数组元素是15个,reshape(3,5)元组的形状3行5列
print ("数组的维度:",a.shape)
print ("数组轴的个数:",a.ndim)
print ("数组元素类型:",a.dtype)
print ("数组中每个元素的字节大小:",a.itemsize)
print ("数组元素的总个数:", a.size)
print ("类型查询:",type(a))

#创建一个数组
b = np.array([6, 7, 8])
print ("数组b:",b)
print ("数组b类型:",type(b))


运行结果:
数组的维度: (3, 5)

数组轴的个数: 2

数组元素类型: int32

数组中每个元素的字节大小: 4

数组元素的总个数: 15

类型查询: <class 'numpy.ndarray'>

数组b: [6 7 8]

数组b类型: <class 'numpy.ndarray'>

创建ndarray

ndarray 就是numpy的多维数组,ndarray的下标是从0开始,数组里元素必须是同一个类型

import numpy as np
a = np.array([1,3,5])
print('打印数组a:',a)
print('数组元素a的类型:',a.dtype)

b = np.array([1.2,2.0,3.0])
print('数组元素b的类型:',b.dtype)

arange

arange 和python的range()类似,arange 创建一个一维的数组

np_arange = np.arange(10, 20, 5,dtype=int)
print ("arange创建np_arange:",np_arange)
print( "arange创建np_arange的元素类型:",np_arange.dtype)
print ("arange创建np_arange的类型:",type(np_arange))

matrix

matrix 是ndarray的一个子类,只能生成2纬的矩阵

 

创建随机数矩阵
 

import  numpy as np
## 生成指定维度大小(3行4列,这个是二维的没发表示所以我这里就用行和列来表示)rand的固定区间是0~1。0
arr = np.random.rand(3,4)
print(arr)
print(type(arr))
# 生成指定维度大小(3行4列)的随机多维整型数据(二维),randint()可以指定区间(-1, 5)
arr = np.random.randint(-1, 5, size = (3, 4))
print(arr)
print(type(arr))

# 生成指定维度大小(3行4列)的随机多维浮点型数据(二维),uniform()可以指定区间(-1, 5)产生-1到5之间均匀分布的样本值
arr = np.random.uniform(-1, 5, size = (3, 4)) #
print(arr)
print(type(arr))

ndarray的数据类型

  1. dtype参数,指定数组的数据类型,类型名+位数,如float64, int32

  2. astype方法,转换数组的数据类型

# 初始化3行4列数组,数据类型为float64
zeros_float_arr = np.zeros((3, 4), dtype=np.float64)
print(zeros_float_arr)
print(zeros_float_arr.dtype) #float64

# astype转换数据类型,将已有的数组的数据类型转换为int32
zeros_int_arr = zeros_float_arr.astype(np.int32)
print(zeros_int_arr)
print(zeros_int_arr.dtype)  #int32

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值