NumPy创建数组的多种方式实现

 更新时间:2023年06月11日 16:27:43   作者:i阿极  
在使用NumPy时,通常需要先创建一个数组,然后再对这个数组进行各种操,本文主要介绍了NumPy创建数组的多种方式实现,具有一定的参考价值,感兴趣的可以了解一下

1、前言

NumPy是Python中用于科学计算和数据分析的重要库之一。在NumPy中,数组(ndarray)是一个重要的数据结构,它可以存储多维数组,并提供了许多操作数组的方法。

在使用NumPy时,通常需要先创建一个数组,然后再对这个数组进行各种操作,比如计算、切片、索引等。NumPy提供了多种方式用于创建数组,可以根据不同的需求选择不同的方式。

在本篇文章中,我们将介绍NumPy创建数组的多种方法,并给出相应的示例。我们将依次介绍使用以下方法创建数组:

  • 使用array函数创建数组
  • 使用zeros和ones函数创建数组
  • 使用empty和full函数创建数组
  • 使用arange和linspace函数创建数组
  • 使用random函数创建数组
  • 使用fromfile函数和frombuffer函数创建数组

通过本篇文章的学习,读者将了解到如何使用NumPy创建数组,可以根据自己的需求选择合适的方法来创建数组,并为后续的操作打下良好的基础。

2、使用array函数创建数组

array函数是NumPy中最常用的创建数组的方式之一。可以将列表、元组等序列类型的数据转换为数组。

在这里插import numpy as np
# 将列表转换为数组
a = np.array([1, 2, 3, 4, 5])
print(a) 
# 将元组转换为数组
b = np.array((1, 2, 3, 4, 5))
print(b)

在上面的示例中,我们分别将列表和元组转换为数组。

3、使用zeros和ones函数创建数组

zeros函数和ones函数可以用来创建指定大小和数据类型的数组,其中zeros函数创建的数组中所有元素都为0,ones函数创建的数组中所有元素都为1。

import numpy as np
# 创建一个3行4列的二维数组,其中所有元素都为0
a = np.zeros((3, 4))
print(a)
# 创建一个2行3列的二维数组,其中所有元素都为1
b = np.ones((2, 3))
print(b)

在上面的示例中,我们分别使用zeros和ones函数创建了二维数组,并指定了数组的大小。

4、使用arange函数创建数组

arange函数可以用来创建一维数组,类似于Python内置的range函数。

arange函数的语法为:

numpy.arange([start, ]stop, [step, ]dtype=None)

其中,start表示起始值,默认为0;stop表示终止值(不包含),必须指定;step表示步长,默认为1;dtype表示数据类型,默认为None

import numpy as np
# 创建一个从0到9的一维数组
a = np.arange(10)
print(a)
# 创建一个从2到8,步长为2的一维数组
b = np.arange(2, 9, 2)
print(b)

在上面的示例中,我们分别使用arange函数创建了一维数组,并指定了数组的起始值、终止值和步长。

5、使用linspace和logspace函数创建数组

linspace函数和logspace函数可以用来创建一维数组,其中linspace函数创建的数组中元素是等间隔的,logspace函数创建的数组中元素是对数间隔的。

import numpy as np
# 创建一个从0到1,有11个元素的一维数组
a = np.linspace(0, 1, 11)
print(a)
# 创建一个从10的0次方到10的2次方,有5个元素的一维数组
b = np.logspace(0, 2, 5)
print(b)

在上面的示例中,我们分别使用linspace和logspace函数创建了一维数组,并指定了数组的起始值、终止值和元素个数。 注意,logspace函数的第三个参数

6、使用random函数创建数组

NumPy中的random模块提供了一些函数用于生成随机数和随机数组。使用这些函数可以创建指定大小和数据类型的随机数组。

import numpy as np
# 创建一个2行3列的二维数组,其中元素的值为[0, 1)之间的随机数
a = np.random.random((2, 3))
print(a)
# 创建一个3行3列的二维数组,其中元素的值为标准正态分布的随机数
b = np.random.randn(3, 3)
print(b)

在上面的示例中,我们分别使用random函数创建了二维数组,并指定了数组的大小。

7、使用fromfile函数和frombuffer函数创建数组

fromfile函数和frombuffer函数可以从文件或缓冲区中读取数据并创建数组。

import numpy as np
# 从文件中读取数据并创建一维数组
a = np.fromfile('data.txt', dtype=np.float32)
print(a)
# 从缓冲区中读取数据并创建二维数组
buf = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.frombuffer(buf, dtype=np.int32).reshape(3, 3)
print(b)

在上面的示例中,我们分别使用fromfile函数和frombuffer函数创建了一维数组和二维数组。

总结

总的来说,NumPy提供了多种方法用于创建数组,可以根据不同的需求选择不同的方法。在创建数组时,可以指定数组的大小、数据类型等参数,也可以使用随机数或读取文件等方式来创建数组。

到此这篇关于NumPy创建数组的多种方式实现的文章就介绍到这了,更多相关NumPy创建数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python多进程使用及线程池的使用方法代码详解

    python多进程使用及线程池的使用方法代码详解

    这篇文章主要介绍了python多进程使用及线程池的使用方法代码详解,需要的朋友可以参考下
    2018-10-10
  • Python小白学习爬虫常用请求报头

    Python小白学习爬虫常用请求报头

    在本篇文章里小编给大家整理了关于Python小白学习爬虫常用请求报头的相关知识点,需要的朋友们可以学习下。
    2020-06-06
  • 基于Python绘制3D立体爱心图案的示例详解

    基于Python绘制3D立体爱心图案的示例详解

    这篇文章主要为大家详细介绍了利用Python实现绘制3D立体爱心图案的四种不同方法,文中的示例代码讲解详细,感兴趣的小伙伴可以动手尝试一下
    2022-11-11
  • python爬取热搜制作词云

    python爬取热搜制作词云

    这篇文章主要介绍了python爬取百度热搜制作词云,首先爬取百度热搜,至少间隔1小时,存入文件,避免重复请求,如果本1小时有了不再请求,存入数据库,供词云包使用,爬取热搜,具体流程请需要的小伙伴参考下面文章内容
    2021-12-12
  • Python机器学习之使用Pyecharts制作可视化大屏

    Python机器学习之使用Pyecharts制作可视化大屏

    pyecharts是一个用于生成Echarts图表的Python库,Echarts是百度开源的一个数据可视化 JS 库,可以生成一些非常酷炫的图表,这篇文章主要给大家介绍了关于Python机器学习之Pyecharts制作可视化大屏的相关资料,需要的朋友可以参考下
    2021-10-10
  • 使用Django框架中ORM系统实现对数据库数据增删改查

    使用Django框架中ORM系统实现对数据库数据增删改查

    这篇文章主要介绍了使用Django的ORM实现对数据库数据增删改查方法,文中附含详细示例代码以及过程详解,有需要的朋友可以借鉴参考下
    2021-09-09
  • Python利用手势识别实现贪吃蛇游戏

    Python利用手势识别实现贪吃蛇游戏

    想必大家都玩过贪吃蛇的游戏吧:通过操纵蛇的移动方向能够让蛇吃到随机出现的食物,吃到的食物越多,蛇就会变得越长。本文将使用手势识别来完成贪吃蛇这个简单的游戏,感兴趣的可以了解一下
    2022-04-04
  • python通过openpyxl生成Excel文件的方法

    python通过openpyxl生成Excel文件的方法

    这篇文章主要介绍了python通过openpyxl生成Excel文件的方法,实例分析了openpyxl的安装与使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-05-05
  • 浅谈python中常用的excel模块库

    浅谈python中常用的excel模块库

    本文主要介绍了python中常用的excel模块库,感兴趣的同学,可以参考下。
    2021-06-06
  • Python中@符号的用法小结

    Python中@符号的用法小结

    @符号在Python中最常见的使用情况是在装饰器中,本文主要介绍了Python中@符号的用法小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09

最新评论