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

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

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

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

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

1. 从list或tuple转换

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

```python

import numpy as np

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

# 一维数组

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相关知识,提升自己在数据处理方面的能力!

文章版权声明:除非注明,否则均为游侠云资讯原创文章,转载或复制请以超链接形式并注明出处。

目录[+]