Python数据分析之Numpy库的使用详解

目录
  • 前言
  • 🧡Numpy库介绍
  • 💙ndarray 类常用属性
  • 💚Numpy常用函数
    • 🍓array函数
    • 🥝arange()函数和linspace()函数
    • 🍎zeros(),empty和ones()
    • 🍒ndarray 类的索引和切片方法
  • 🍇numpy 库运算函数
  • 总结

前言

由于自己并不以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 库运算函数

总结

提示:这里对文章进行总结:

numpy 库还包括三角运算函数、 傅里叶变换、 随机和概率分布、 基本数值统计、 位运算、 矩阵运算等非常丰富的功能, 在使用时可以到官方网站查询

python基础查表

到此这篇关于Python数据分析之Numpy库的使用详解的文章就介绍到这了,更多相关Python 数据分析内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python之用Numpy和matplotlib画一个魔方

    目录 前言 开搞! 构建体素 制作间隙效果 为每个面赋不同的颜色 完整代码 瞎鼓捣系列~ Numpy + matplotlib 画一个魔方 前言 NumPy是Python科学计算的基本包.它是一个Python库,提供了多维数组对象.各种派生对象(如掩码数组和矩阵),以及用于对数组进行快速操作的各种例程,包括数学.逻辑.形状操作.排序.选择.I/O.离散傅里叶变换.基本线性代数.基本的统计运算,随机模拟等等. github 官方文档 最近项目中有个码垛规划的需求,Numpy中的三维数组特别好用,就

  • Python编程利用Numpy和PIL库将图片转化为手绘

    目录 主要采用的技术点 读取图片,转化为数组 计算 x,y,z 轴梯度值,归一化 加入光源效果 导出图片,并保存 主要采用的技术点 Python + Numpy + PIL 在正文代码开始前,大家先看看最初原图和转换手绘风图片前后对比. 当然了,我先查了手绘的三个基本特点: 图片可单通道灰度图 边缘线条较重可当成黑色,相同或相近像素值趋向白色 光源效果下,灰度变化类似于人类视觉的远近 下面开始介绍,手绘照实现步骤: 读取图片,转化为数组 因为要对图像的像素计算,可以先把图片先转化为数组.代码如下

  • python利用numpy存取文件案例教程

         NumPy提供了多种存取数组内容的文件操作函数.保存数组数据的文件可以是二进制格式或者文本格式.二进制格式的文件又分为NumPy专用的格式化二进制类型和无格式类型. numpy格式的文件可以保存为后缀为(.npy/.npz)格式的文件 1. tofile()和fromfile() tofile()将数组中的数据以二进制格式写进文件 tofile()输出的数据不保存数组形状和元素类型等信息 fromfile()函数读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改 import

  • Python Numpy 高效的运算工具详解

    目录 Numpy 介绍 优势 numpy常用属性 ndarray形状 二维数组 ndarray类型 创建ndarray时,指定其类型 基本操作 总结 Numpy 介绍 numpy num numerical 数值化 py python ndarray n 任意个 d dimension 维度 array 数组 n维 相同数组类型的集合 将数据组 转化为 ndarray类型 data = np.array(数组) import numpy as np data = np.array([[80,89

  • Python中Numpy和Matplotlib的基本使用指南

    目录 1. Jupyter Notebooks 2. NumPy 数组 3. SciPy 稀疏数组 4. Matplotlib 总结 1. Jupyter Notebooks 作为小白,我现在使用的python编辑器是Jupyter Notebook,非常的好用,推荐!!! 你可以按[Ctrl] + [Enter]快捷键或按菜单中的运行按钮来运行单元格. 在function(后面按[shift] + [tab],可以获得函数或对象的帮助. 你还可以通过执行function?获得帮助. 2. Nu

  • Python NumPy灰度图像的压缩原理讲解

    灰度图像是对图像的颜色进行变换,如果要对图像进行压缩该怎么处理呢? 1.矩阵运算中有一个概念叫做奇异值和特征值. 设A为n阶矩阵,若存在常数λ及n维非零向量x,使得Ax=λx,则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量. 一个矩阵的一组特征向量是一组正交向量. 2.即特征向量被施以线性变换 A 只会使向量伸长或缩短而其方向不被改变. 特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之

  • Python编程OpenCV和Numpy图像处理库实现图片去水印

    目录 OpenCV + Numpy 函数简介 色彩转换 PIL + itertools 大家好,我是小五 前一阵给大家分享了,Python如何给图片加水印.评论区就有小伙伴问,可不可使用Python去除图片水印的方法呢? 这个肯定有啊,不过由于图片水印的种类有很多,今天我们先讲最简单的一种. 即上图中的①类水印,这种水印存在白色背景上的文档里,水印是灰色,需要保留的文字是黑色. 这种通常可以进行简单的亮度/对比度转换,直到水印消失并降低亮度以进行补偿. 参考别人的方法,我发现可以用多种方法去除水

  • python基础之Numpy库中array用法总结

    目录 前言 为什么要用numpy 数组的创建 生成均匀分布的array: 生成特殊数组 获取数组的属性 数组索引,切片,赋值 数组操作 输出数组 总结 前言 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数. NumPy数组是一个多维数组对象,称为ndarray.数组的下标从0开始,同一个NumPy数组中所有元素的类型必须是相同的. >>>

  • Python数据分析之NumPy常用函数使用详解

    目录 文件读入 1.保存或创建新文件 2.读取csv文件的函数loadtxt 3.常见的函数 4.股票的收益率等 5.对数收益与波动率 6.日期分析 总结 本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. 文件读入 读写文件是数据分析的一项基本技能 CSV(Comma-Separated Value,逗号分隔值)格式是一种常见的文件格式.通常,数据库的

  • numpy库reshape用法详解

    numpy.reshape(重塑) 给数组一个新的形状而不改变其数据 numpy.reshape(a, newshape, order='C')参数: a:array_like 要重新形成的数组. newshape:int或tuple的整数 新的形状应该与原始形状兼容.如果是整数,则结果将是该长度的1-D数组.一个形状维度可以是-1.在这种情况下,从数组的长度和其余维度推断该值. order:{'C','F','A'}可选 使用此索引顺序读取a的元素,并使用此索引顺序将元素放置到重新形成的数组中

  • Python基础之Numpy的基本用法详解

    一.数据生成 1.1 手写数组 a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) # 一维数组 b = np.array([[1, 2], [3, 4]]) #二维数组 1.2 序列数组 numpy.arange(start, stop, step, dtype),start默认0,step默认1 c = np.arange(0, 10, 1, dtype=int) # =np.arange(10) [0 1 2 3 4 5 6 7 8 9] d

  • python可视化大屏库big_screen示例详解

    目录 big_screen 特点 安装环境 输入数据 本地运行 在线部署 对于从事数据领域的小伙伴来说,当需要阐述自己观点.展示项目成果时,我们需要在最短时间内让别人知道你的想法.我相信单调乏味的语言很难让别人快速理解.最直接有效的方式就是将数据如上图所示这样,进行可视化展现. 具体如下: big_screen 特点 便利性工具, 结构简单, 你只需传数据就可以实现数据大屏展示. 安装环境 pip install -i https://pypi.tuna.tsinghua.edu.cn/simp

  • Python数据分析之缺失值检测与处理详解

    目录 检测缺失值 缺失值处理 删除缺失值 填补缺失值 检测缺失值 我们先创建一个带有缺失值的数据框(DataFrame). import pandas as pd df = pd.DataFrame( {'A': [None, 2, None, 4], 'B': [10, None, None, 40], 'C': [100, 200, None, 400], 'D': [None, 2000, 3000, None]}) df 数值类缺失值在 Pandas 中被显示为 NaN (Not A N

  • Python中的tkinter库简单案例详解

    目录 案例一 Label & Button 标签和按钮 案例二 Entry & Text 输入和文本框 案例三 Listbox 部件 案例四 Radiobutton 选择按钮 案例五 Scale 尺度 案例六 Checkbutton 勾选项 案例七 Canvas 画布 案例八 Menubar 菜单 案例九 Frame 框架 案例十 messagebox 弹窗 案例十一 pack grid place 放置 登录窗口 TKinterPython 的 GUI 库非常多,之所以选择 Tkinte

  • python进阶collections标准库使用示例详解

    目录 前言 namedtuple namedtuple的由来 namedtuple的格式 namedtuple声明以及实例化 namedtuple的方法和属性 OrderedDict popitem(last=True) move_to_end(key, last=True) 支持reversed 相等测试敏感 defaultdict 小例子1 小例子2 小例子3 Counter对象 创建方式 elements() most_common([n]) 应用场景 deque([iterable[,

  • Python数据分析之真实IP请求Pandas详解

    前言 pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 .Series 和 DataFrame 分别对应于一维的序列和二维的表结构.pandas 约定俗成的导入方法如下: from pandas import Series,DataFrame import pandas as pd 1.1. Pandas分析步骤 1.载入日志数据 2.载

  • python中的tkinter库弹窗messagebox详解

    〝 古人学问遗无力,少壮功夫老始成 〞 python之tkinter库弹窗messagebox,常码字不易,出精品更难,没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉.你必须特别努力,才能显得毫不费力.如果这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们. Tkinter 是 Python 自带的图形界面库,库中包含众多图形界面控件,包括 Lable 标签.Button按钮.Radiobutton单选框.Checkbutton复选框.

随机推荐