下面我将通过一系列例子来介绍Numpy的数据类型及numpy数组的创建。
Python 原生的数据类型相对较少, bool、int、float、str等。这在不需要关心数据在计算机中表示的所有方式的应用中是方便的。然而,对于科学计算,通常需要更多的控制。为了加以区分 numpy 在这些类型名称末尾都加了“_”。
#numpy数据内型 a = np.dtype('b1') print(a.type)输出:dtype(‘int32’) 这里定义的a代表的是numpy数组的一种数据类型。数组的数据类型可在数组定义时给出,如果不给,也会自动识别数据类型。
以下我将对astype(),dtype(),type()三个函数进行举例区别。 下面展示一些 内联代码片。
#dtype() b = np.array([1,2,3]) b.dtype输出:dtype(‘int32’) dtype()函数返回数组内部元素类型,因为数组的元素的类型必须是一致的,这一点与列表List不同。
#dtype() a = np.dtype('b1') print(a.type)输出:<class ‘numpy.bool_’> type()函数返回参数变量的类型,这一点是区分dtype(),因为dtype()是内部数据类型的。
#astype() str1 = np.array(["1.25","1.1","7.56"],dtype = np.string_) str1.astype(np.float32)输出:array([1.25, 1.1 , 7.56], dtype=float32) astype函数可以转变Numpy数组的数据类型,但也不是任意转换的,数字如整型、浮点型是可以转换的,如果字符串数组都是数字,也可以转化成浮点型数组。
输出: array([[1, 2, 4], [2, 6, 9]]) array()函数除了可以将列表类型转化成Numpy数组,还可以将Dataframe类型转化成numpy数组。
#asarray() np.asarray([[1,2,4],[2,6,9]])输出: array([[1, 2, 4], [2, 6, 9]]) asarray()函数与array()函数在功能上并无区别。
输出 array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) array([ 0. , 2.5, 5. , 7.5, 10. ]) array([[0.94251097, 0.0792962 , 0.0886468 ], [0.37565836, 0.55458168, 0.45675535]]) 以上几个numpy数组生成函数常在python画图里面用到,用于横坐标的刻画。
输出 array([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]], dtype=float32) array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]) array([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) array([[1, 0, 0], [0, 2, 0], [0, 0, 3]])
以上就是基本的数组创建,也是最为常用的数组创建函数。