Python数据分析(3)-numpy中nd数组的创建

然后np.array()函数将其转化成了一个包含三个元素的一位 ndarray 对象。2. 使用特殊函数创建除了从list或tuple转换外。

在进行Python数据分析时,我们常常需要使用到numpy库。而numpy中最基本也是最重要的数据结构就是ndarray(N-dimensional array),即多维数组。通过对ndarray对象的操作,我们可以实现高效、快速地处理大量数值型数据。

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、成都网站制作、红岗网络推广、微信小程序、红岗网络营销、红岗企业策划、红岗品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供红岗建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

那么,在使用过程中如何创建一个ndarray呢?下面我们将介绍几种不同方式。

1. 从list或tuple转换

首先,可以用list或者tuple来初始化一个一维或者二维的数组:

```python

import numpy as np

# 一维数组

a = np.array([1,2,3])

print(a)

# 二位数组

b = np.array([(1.5,2,3), (4,5,6)])

print(b)

```

输出结果为:

[1 2 3]

[[1.5 2. 3. ]

[4. 5. 6. ]]

其中第一个例子里面传入了一个列表 [1,2,3] ,然后np.array()函数将其转化成了一个包含三个元素的一位 ndarray 对象。第二个例子则传入了两个元组作为参数,并且这些元组都有三个浮点数类型数字。函数会自动推断出这应该生成一个 $n\times m$ 的矩阵。

此外,如果你想知道每个元素所占据空间大小(以字节为单位),可以使用itemsize属性:

print(a.itemsize)

4

这个例子中,数组 a 中每个元素占据4字节的空间(因为默认情况下,numpy 会使用32位整数)。

2. 使用特殊函数创建

除了从list或tuple转换外,我们也可以用一些内置的 numpy 函数来初始化一个数组。其中最常用的是 zeros() 和 ones() ,它们分别生成全零和全1矩阵:

c = np.zeros((3,4))

print(c)

d = np.ones((2,3,4),dtype=np.int16)

print(d)

[[0. 0. 0. 0.]

[0. 0. 0. 0.]

[0. 0. 0. 0.]]

[[[1,1,1],

[1,1,1],

[1,]]]

此外还有一些其他函数,比如 empty() 可以创建一个没有任何具体值的数组;eye() 则可以生成单位矩阵。

3、使用arange函数创建

如果需要按指定间隔在指定范围内生成序列,则可通过arange函数实现。其产生一个一维数组,并且参数必须是浮点数类型。

e = np.arange(10) # 类似于range()

print(e)

f = np.arange(10,dtype=float) # 指定数据类型

print(f)

g = np.arange(2,10,2) # 指定起始值、终止值(不包括),以及步长

print(g)

[0 1 2 3 4 5 6 7 8 9]

[0.00e+000 nan nan ... nan nan -inf]

[2,4,6,8]

需要注意的是,由于浮点数精度有限,arange() 函数可能无法预测生成的元素个数。因此在这种情况下最好使用 linspace() 函数。

总结

本文介绍了 numpy 中nd数组的创建方法,包括从list或tuple转换、使用特殊函数创建和使用arange函数创建等。对于初学者来说,掌握这些基础知识是进行Python数据分析中非常重要的一步。

同时,在实际应用过程中还可以通过reshape()函数改变数组形状、利用切片操作获取指定部分数组等进一步扩展功能。希望大家能够通过学习更多numpy相关知识,提升自己在数据处理方面的能力!

当前题目:Python数据分析(3)-numpy中nd数组的创建
当前URL:http://www.hantingmc.com/qtweb/news15/283515.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联