网站首页 > 基础教程 正文
创建ndarray对象的方式有若干种,其中最简单的方式就是使用array()函数,在调用该函数时传入一个Python现有的类型即可,比如列表、元组。例如,通过array()函数分别创建一个一维数组和二维数组,具体代码如下。
In [9]: import numpy as np
In [10]: data1 = np.array([1, 2, 3]) # 创建一个一维数组
In [11]: data1
Out[11]: array([1, 2, 3])
In [12]: data2 = np.array([[1, 2, 3], [4, 5, 6]]) # 创建一个二维数组
In [13]: data2
Out[13]:
array([[1, 2, 3],
[4, 5, 6]])
除了可以使用array()函数创建ndarray对象外,还有其他创建数组的方式,具体分为以下几种:
(1) 通过zeros()函数创建元素值都是0的数组,示例代码如下。
In [14]: np.zeros((3, 4))
Out[14]:
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
(2) 通过调用ones()函数创建元素值都为1的数组,示例代码如下。
In [15]: np.ones((3, 4))
Out[15]:
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]])
(3) 通过empty()函数创建一个新的数组,该数组只分配了内存空间,它里面填充的元素都是随机的,且数据类型默认为float64,示例代码如下。
In [16]: np.empty((5, 2))
Out[16]:
array([[-2.00000000e+000, -2.00390463e+000],
[ 2.37663529e-312, 2.56761491e-312],
[ 8.48798317e-313, 9.33678148e-313],
[ 8.70018275e-313, 2.12199581e-314],
[ 0.00000000e+000, 6.95335581e-309]])
(4) 通过arange()函数可以创建一个等差数组,它的功能类似于range(),只不过arange()函数返回的结果是数组,而不是列表,示例代码如下。
In [17]: np.arange(1, 20, 5)
Out[17]: array([ 1, 6, 11, 16])
大家可能注意到,有些数组元素的后面会跟着一个小数点,而有些元素后面没有,比如1和1.,产生这种现象,主要是因为元素的数据类型不同所导致的。
值得一提的是,在创建ndarray对象时,我们可以显式地声明数组元素的类型,示例代码如下。
In [18]: np.array([1, 2, 3, 4], float)
Out[18]: array([1., 2., 3., 4.])
In [19]: np.ones((2, 3), dtype='float64')
Out[19]:
array([[1., 1., 1.],
[1., 1., 1.]])
猜你喜欢
- 2024-10-12 一文掌握Numpy矩阵 numpy矩阵乘法实现原理
- 2024-10-12 矩阵运算库:Numpy 矩阵运算库不支持点乘
- 2024-10-12 Python 的整数与 Numpy 的数据溢出
- 2024-10-12 整理20个Pandas统计函数 pandas函数汇总
- 2024-10-12 一文搞定Pandas核心概念之Series pandas的两大核心
- 2024-10-12 人工智能深度学习基础——Numpy模块知识汇总
- 2024-10-12 关于类型为numpy,TensorFlow.tensor,torch.tensor的shape变化
- 2024-10-12 Numpy基础用法汇总 numpy基础及取值操作
- 2024-10-12 想学好Python数据分析,一定要掌握的重要模块之numpy
- 2024-10-12 numpy基础之ndarray的数据类型dtype
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)