python数据分析————NumPy多维数组对象ndarray

numpy

numpy是python的一个扩展库,常用来进行多维数组和矩阵运算,常用于数据科学运算,他的优点有是有一个强大的多维数组对象ndarray,该库的很多运算功能是由C/C++来铺垫整合的

ndarray

  • 数据类型
元素类型 描述
bool True/False
intc 与C语言int类型一致,一般是int32或int64
intp 用于索引整数,int32或int64
int8 字节长度整数,取值[-128,127]
int16 16位长度整数,取值[-32768,32767]
int32 32位长度整数,取值[-231,231-1]
int64 64位长度整数,取值[-263,263 -1]
uint8/uint16/uint32/uint64 无符号整数
float16/float32/float64 半精度浮点数
complex64/complex128 实部虚部都是_位的复数类型
  • 导入扩展库
import  numpy as np

ndarray数组的创建

创建ndarray的数组方法有3种:

使用列表创建,元组创建,列表和元组混合创建
>>> a= np.array([0,1,2,3,4])		列表创建
>>> b= np.array((0,1,2,3,4))		元组创建
>>> c= np.array([[0,1,2],(3,4)])	列表和元组混合创建
结果分别是:
>>> a
array([0, 1, 2, 3, 4])
>>> b
array([0, 1, 2, 3, 4])
>>> c
array([list([0, 1, 2]), (3, 4)], dtype=object)
使用numpy中的创建函数
  • np.arange(n)
>>> a = np.arange(10)		生成元素从0至n-1的数组
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  • np.ones((n,m))
  • np.ones((n,m,z))
>>> b=np.ones((3,6)) 		生成全1数组,参数为元组类型
>>> b
array([[1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.]])
>>> b2 =np.ones((2,3,6))	生成多维全1数组
>>> b2
array([[[1., 1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1., 1.]],

       [[1., 1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1., 1.]]])
  • np.zeros((n,m))
>>> c=np.zeros((3,6))		生成全0数组,参数为元组类型
>>> c
array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])
  • np.eye(n)
>>> d=np.eye(3)				创建n*n的单位矩阵,对角线为1,其余为0
>>> d
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
使用numpy其他函数创建数组
  • np.linspace(n,m,z)(起始元素,末尾元素,数组中元素个数)
    默认末尾元素被包含在内
>>> a=np.linspace(1,10,4)	根据起止距离等间距填充数据,默认浮点数
>>> a
array([ 1.,  4.,  7., 10.])
>>> a=np.linspace(1,10,4,endpoint=False)	10不包括在末尾元素
>>> a
array([1.  , 3.25, 5.5 , 7.75])
  • np.concatenate((a,b))
>>> a=np.linspace(1,10,4)
>>> b=np.linspace(1,10,4,endpoint=False)
>>> c = np.concatenate((a,b))		将两个或多个数组组合成新的数组
>>> c
array([ 1.  ,  4.  ,  7.  , 10.  ,  1.  ,  3.25,  5.5 ,  7.75])

你可能感兴趣的:(python,数据分析,python,numpy,列表,数据分析)