应用Numpy实现对数据的处理

这篇具有很好参考价值的文章主要介绍了应用Numpy实现对数据的处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建简单的数组

主要使用np.array()函数,语法如下

import numpy as np
np.array(object,dtype=None,copy=True,order='K',subok=False,ndmin=0)

主要参数:

  • Object:任何具有数组接口方法的对象

  • dtype:数据类型

  • ndmin:指定生成数组的最小维数

# 创建一个指定长度为二维数组,数据并没有初始化,值随机
n1 = np.empty([2,3],dtype=int)
print(n1)
​
# 指定二维数组的维度并对值进行填充,全部初始化为0
n1 = np.zeros([2,3],dtype=int)
print(n1)
​
# 创建一个指定长度为二维数组,并将数据全部初始化为1
n1 = np.ones([2,3],dtype=int)
​
# 创建一个指定长度为二维数组,并将数据全部初始化为指定的值
n1 = np.full([2,3],5)

通过np.arange(stat,stop,step,dtype=None)创建数组

start:起始值,默认为0

stop:终止值,不包含

step:步长

np.arange(1,6,2) #[1,3,5]

通过np.linspace()生成等差数列

n = np.linspace(10,50,5,dtype=int) #[10 20 30 40 50]

通过np.logspace()生成等比数列

n = np.logspace(1,4,num=4,base=2,dtype=int) #[ 2  4  8 16]

生成随机数组,使用rand()函数,生成(0,1)之间的随机数组,传入一个值随机生成一维数组,传入一对值随机生成一个二维数组

numpy.random.rand(d0,d1,d2,d3)
参数d0,d1等为整数,表示每一维度的长度

randn()函数用于从正态分布中返回随机生成的数组,语法同rand函数

n = np.random.rand(5,4,3)
​
 [[0.37385151 0.2058156  0.52630237]
  [0.97588255 0.14450416 0.24276859]
  [0.20887649 0.52145804 0.33680438]
  [0.65021309 0.4109006  0.90690288]]

randint()函数的作用和arrange()函数类似,用于生成一定范围内的随机数组,左闭右开区间

n = np.random.randint(low=1,high=10,size=5)
print(n)
# [1 3 7 6 2]

normal()函数用于生成正态分布的随机数

n = np.random.normal(loc=0,scale=1,size=5)
#loc 均值 scale 标准差 size 大小
print(n)
#[-0.51231413  0.0950708   0.29954217 -1.37279317 -0.40188256]
数据类型:

为了区别python数据类型,bool,int,float等数据类型的末尾都加了_ ,比如

Bool_
Int_

numpy数组的加减乘除乘幂运算都是对应位置的元素进行加减乘除

数组之间的标量运算可以理解为向量和标量之间的运算

数组的切片式索引:

arrar[start:stop:step]

一个三行三列的二维数组,通过切片式索引操作

n = np.ones([3,3],dtype=int)
print(n[:2,2:])
print(n[:3,1:])
#[[1] [1]]
[[1 1]
 [1 1]
 [1 1]]
数组的合并:

横向合并:将两个行数相同的数组在行方向上进行简答拼接

np.concatenate()方法将两个待合并的数组以列表的形式传递给concatenate,并通过设置axis参数指明在行方向还是列方向上进行合并

arr1 = np.full([2,3],5)
print(arr1)
arr2 = np.full([2,3],6)
print(arr2)
n1 = np.concatenate([arr1,arr2],axis=1)
print(n1)
​
[[5 5 5]
 [5 5 5]]
​
[[6 6 6]
 [6 6 6]]
​
[[5 5 5 6 6 6]
 [5 5 5 6 6 6]]
​
# 同样实现横向合并
n1 = np.hstack([arr1,arr2])
print(n1)
# 实现横向合并
n1 = np.column_stack([arr1,arr2])

纵向合并

import numpy as np
#np.array(object,dtype=None,copy=True,order='K',subok=False,ndmin=0)
arr1 = np.full([2,2],5)
print(arr1)
arr2 = np.full([2,2],6)
print(arr2)
n1 = np.concatenate([arr1,arr2],axis=0)
print(n1)
print(len(n1))
​
[[5 5]
 [5 5]]
[[6 6]
 [6 6]]
[[5 5]
 [5 5]
 [6 6]
 [6 6]]
4
​
#  下面的函数也可以实现纵向合并
np.vstack([arr1,arr2])
​
np.row_stack([arr1,arr2])
数组的分割

split函数沿着特定的轴将数组分割为子数组

numpy.split(arr,indices_or_sections,axis)
三个参数分别代表:被分割的数组,
indices_or_sections:如果是一个整数,就用该数平均分,如果是一个数组,为沿轴切分的位置(左开右闭)
axis:设置切割的方向,默认为0,横向切割,即水平方向
​
hsplit函数用于水平分割数组,通过指定要返回的相同形状的数组数量来分割
vsplit用于垂直分割轴

常见的统计分析函数,使用时去搜索文章来源地址https://www.toymoban.com/news/detail-633521.html

到了这里,关于应用Numpy实现对数据的处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据分析 — Numpy 数组处理

    NumPy(Numerical Python)是一个用于 科学计算 的 Python 库,提供了多维数组对象(ndarray)以及数学函数,用于 处理大规模数据集和执行数值 计算。 当数据量达到一定级别后,NumPy 计算会比原生 Python 快。 Numpy 的主要对象是 同种元素 的多维数组。这是⼀个所有的元素都是⼀种类

    2024年02月22日
    浏览(39)
  • python机器学习(三)特征预处理、鸢尾花案例--分类、线性回归、代价函数、梯度下降法、使用numpy、sklearn实现一元线性回归

    数据预处理的过程。数据存在不同的量纲、数据中存在离群值,需要稳定的转换数据,处理好的数据才能更好的去训练模型,减少误差的出现。 标准化 数据集的标准化对scikit-learn中实现的大多数机器学习算法来说是常见的要求,很多案例都需要标准化。如果个别特征或多或

    2024年02月16日
    浏览(44)
  • 大数据:NumPy进阶应用详解

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对近年

    2024年02月12日
    浏览(25)
  • 大数据:Numpy基础应用详解

    Numpy 是一个开源的 Python 科学计算库, 用于快速处理任意维度的数组 。Numpy 支持常见的数组和矩阵操作 ,对于同样的数值计算任务,使用 NumPy 不仅代码要简洁的多,而且 NumPy 的性能远远优于原生 Python,基本是一个到两个数量级的差距,而且数据量越大,NumPy 的优势就越明

    2024年02月12日
    浏览(25)
  • 大数据(二):Numpy基础应用详解

    Numpy 是一个开源的 Python 科学计算库, 用于快速处理任意维度的数组 。Numpy 支持常见的数组和矩阵操作 ,对于同样的数值计算任务,使用 NumPy 不仅代码要简洁的多,而且 NumPy 的性能远远优于原生 Python,基本是一个到两个数量级的差距,而且数据量越大,NumPy 的优势就越明

    2024年02月11日
    浏览(32)
  • 大数据(三):NumPy进阶应用详解

    结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对近年

    2024年02月11日
    浏览(30)
  • python通过ctypes传参numpy给c语言函数

    gcc -o demo.so -std=c++11 -shared -fPIC demo.c  python3 main.py 概述: 示例实现了numpy数组加上100并通过另外的数组的指针获取返回值。主要过程是 numpy数组转换成c_void_p类型,然后传参给c语言函数,c语言函数中指针强转到需要的数据类型,然后再处理。这样即可改变numpy数组中的数值实

    2024年02月12日
    浏览(37)
  • python实战应用讲解-【numpy数组篇】常用函数(八)(附python示例代码)

    目录 Python Numpy MaskedArray.cumprod()函数 Python Numpy MaskedArray.cumsum()函数 Python Numpy MaskedArray.default_fill_value()函数 Python Numpy MaskedArray.flatten()函数 Python Numpy MaskedArray.masked_equal()函数 numpy.MaskedArray.cumprod() 返回在给定轴上被屏蔽的数组元素的累积乘积。在计算过程中,被屏蔽的值在内部

    2024年02月02日
    浏览(57)
  • NumPy和Pandas库的基本用法,用于数据处理和分析

    当涉及到数据处理和分析时,NumPy和Pandas是两个非常常用的Python库。下面是它们的基本用法: NumPy(Numerical Python): 导入NumPy库:在代码中使用import numpy as np导入NumPy库。 创建NumPy数组:使用np.array()函数可以创建一个NumPy数组。例如,arr = np.array([1, 2, 3, 4, 5])创建一个包含整数

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包