Python数据分析之Numpy库的使用详解
作者:Paranoid☆ 发布时间:2021-06-14 02:54:53
前言
由于自己并不以Python语言为主,这里只是简单介绍一下Numpy库的使用
提示:以下是本篇文章正文内容
🧡Numpy库介绍
numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray), 简称" 数组”,数组中所有元素的类型必须相同, 数组中元素可以用整数索引, 序号从0开始。 ndarray类型的维度(dimensions)叫做轴(axes), 轴的个数叫做秩(rank)。 一维数组的秩为1, 二维数组的秩为2, 二维数组 相当于由两个一维数组构成
numpy 库概述:
由于numpy 库中函数较多且命名容易与常用命名混淆,建议采用如下方式引用numpy 库:
import numpy as np
其中, as保留字与import一起使用能够改变后续代码中库的命名空间, 有助于提高代码可读性。 简单说, 在程序的后续部分中, np代替numpy。
💙ndarray 类常用属性
创建一个简单的数组后, 可以查看ndarray类型有一些基本属性
1.ndarray.ndim
数组轴的个数,在python的世界中,轴的个数被称作秩
2.ndarray.shape
数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性
3.ndarray.size
数组元素的总个数,等于shape属性中元组元素的乘积。
4.ndarray.dtype
一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型。
5.ndarray.itemsize
数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).
6.ndarray.data
包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组中的元素。
import numpy as np #引入numpy模块
a = np.ones((4,5))
print(a)
print('数据轴个数: ',a.ndim)
print('每个维度的数据个数: ',a.shape)
print('数据类型',a.dtype)
# 结果
[[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]]
数据轴个数: 2
每个维度的数据个数: (4, 5)
数据类型 float64
小结:
💚Numpy常用函数
🍓array函数
函数原型:
np.array([x,y,x],dtype=int) # 从列表和元组中创建数组
功能:array函数将列表转矩阵
import numpy as np #引入numpy模块
array=np.array([[1,2,3], #列表转矩阵
[4,5,6]])
print(array)
print('number of dim',array.ndim) #输出矩阵数据轴数
print('size',array.size) #输出矩阵总元素个数
# 结果
[[1 2 3]
[4 5 6]]
number of dim 2
size 6
🥝arange()函数和linspace()函数
函数原型:
np.arange(x,y,i) # 创建一个由x到y,以i为步长的数组
np.linspace(x,y,n) # 创建一个由x到y,等分为n个元素的数组
import numpy as np #引入numpy模块
a=np.arange(1,12,2)# np.arange从1到12,间隔为2
print(a)
#从2到12,生成随机6个数,并控制为2行3列
b=np.linspace(2,12,6).reshape(2,3)
print(b)
# 结果:
[ 1 3 5 7 9 11]
[[ 2. 4. 6.]
[ 8. 10. 12.]]
🍎zeros(),empty和ones()
功能:创建都是初始值相同元素(0,1)的数组
函数原型:
np.ones((m,n),dtype) # 创建一个m行n列的全为1的数组
np.zeros((m,n),dtype) # 创建一个m行n列的全为0的数组
np.empty((m,n),dtype) # 创建一个m行n列的全为0的数组
import numpy as np #引入numpy模块
a=np.zeros((5,8)) #元素都是0
b=np.ones((5,6)) #元素都是1
print(a)
print(b)
# 结果:
[[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0.]]
[[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1.]]
🍒ndarray 类的索引和切片方法
和列表的索引差不多的
import numpy as np #引入numpy模块
a = np.random.rand(5,3)#生成随机5行3列数组
print(a)
print('获取第2行',a[2]) #获取第2行
print('切片',a[1:3]) #切片, 1到3行,不包括3
print('切片',a[-5:-2:2]) #切片,从后向前,步长为2
# 结果
[[0.53469047 0.47559129 0.65865181]
[0.89942399 0.66683114 0.55181635]
[0.11989817 0.06055933 0.56880058]
[0.95744499 0.94814163 0.2155053 ]
[0.95179242 0.61544664 0.40876683]]
获取第2行 [0.11989817 0.06055933 0.56880058]
切片 [[0.89942399 0.66683114 0.55181635]
[0.11989817 0.06055933 0.56880058]]
切片 [[0.53469047 0.47559129 0.65865181]
[0.11989817 0.06055933 0.56880058]]
🍇numpy 库运算函数
来源:https://blog.csdn.net/qq_53144843/article/details/121039224
猜你喜欢
- 1. 介绍通俗的来讲,MobaXterm就是一款SSH客户端,它帮助我们在Windows操作系统下去连接并操作Linux服务器。MobaXt
- Pytorch one_hot编码函数解读one_hot编码定义在一个给定的向量中,按照设定的最值–可以是向量中包含的最
- 一、数据库备份种类按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下:1.1完全备份这是大多数人常用的方式,它可以备份整个
- 一、简介本文旨在使用两种方法来实现sin函数的模拟,具体的模拟方法是使用机器学习来实现的,我们使用Python的torch模块进行机器学习,
- 使用shell调用一个python文件,并向shell中传入参数,举例如下:p1='wang'p2='shuang&
- 最近用到Python自动发送邮件,主要就是三步,登录邮件、写邮件内容、发送,用到的库是 smtplib 和 email,直接使用pip安装即
- Jupyter NotebookJupyter项目是从Ipython项目中分出去的,在Ipython3.x之前,他们两个是在一起发布的。在I
- 1.安装vscode和python3.7(安装路径在:E:\Python\Python37);2.打开vscode,在左下角点击设置图标选择
- 如何使用数组来显示下拉菜单?可以这样,如下:Sub DoDropDown(Arr(), strSelName, 
- 使用cv2对视频进行切割import cv2def clip_video(source_video, target_video, start
- 1、处理列表的部分元素称之为切片,创建切片,可指定要使用的第一个元素和最后一个元素的索引。2、这让Python创建一个始于第一个元素,终止于
- 简介Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建
- 先给大家说下什么是localstorage前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面
- 相信大家一定碰到过,打开某个网页,却显示一堆像乱码,如"бЇЯАзЪСЯ"、"�????????"?
- 前言: 在项目中,我用到了vue +iview + vue-router 开发; 然后导航条就使用了iview的Menu组件,结果发觉导航条
- 这些天安装 PyTorch,遇到了一些坑,特此总结一下,以免忘记。分享给大家。首先,安装环境是:操作系统 Win10,已经预先暗转了 Ana
- 前言给新的环境安装pip install tensorflow,结果报错了。跟着我分析解决一波。报错原因这个红字已经说的很清楚了。ERROR
- Map 类型先看例子 m1:func main() { m := make(map[int]int) mdMap(m) fmt.Printl
- orm表单使用csrfa. 基本应用form表单中添加{% csrf_token %}b. 全站禁用# 'django.middle
- 当鼠标移动上去后,字慢慢的变大的 效果应该 如果实现啊<!DOCTYPE html PUBLIC "-//W3C//DTD