Numpy是数据分析的基础库,它支持大量的维度计算与矩阵运算。同时他也是一个运行速度非常快的数学库,主要用于数组计算,具有线性代数、傅里叶变换、随机数生成等功能。

Ndarray对象

Numpy最重要的一个特点就是其N维数组对象ndarray他是一系列同类型数据的集合,创建一个ndarray对象只需要调用Numpy的array函数即可。

  • numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
    参数含义如下:
    object:数组。这里可以是多维的数组。
    dtype:数组元素的数据类型。Numpy有bool、int、uint、float、complex这几种数据类型。
    copy:对象是否需要复制。数组在创建时都会默认复制一块,防止不安全出现。
    order:创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)。
    subok:默认返回一个与基类类型一致的数组。
    ndmin:指定数组的最小维度。

例如:创建一个一维的ndarray对象,数组数据包含字符串、整数、浮点数,使用的数据类型为int类型。

代码如下:

import numpy as np
ns = np.array([1,3.5,"4"],dtype=int)
ns

结果为:

数据分析--Numpy初级(一)-LMLPHP

dtype对象

numpy的数值类型实际上是dtpye对象的实例,并对应唯一的字符,例如:numpy.bool、numpy.int32、numpy.float32、numpy.complex64等。dtype对象可通过dtype()函数进行创建。

  • numpy.dtype(object,align,copy)
    参数含义如下:
    object:要转换为的数据类型对象。
    align:如果为True,填充字段使其类似C的结构体。
    copy:复制dtype对象,如果为False,则是对内置数据对象的引用。

例如:创建一个结构化数据类型并应用于ndarray对象。

代码如下:

import numpy as np
# student为结构化数据类型
# S为Str类型,"i1"表示int8
student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')]) 
print(student)
a = np.array([('abc', 21, 50),('xyz', 18, 75)], dtype = student) 
print(a)
# 这里的类型字段名可以保存实际的列
print("第一列",a["name"],"第二列",a["age"],"第三列",a["marks"])

结果如下:

数据分析--Numpy初级(一)-LMLPHP

06-05 01:15