numpy学习

Posted a-runner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy学习相关的知识,希望对你有一定的参考价值。

  小编整理了一些numpy常用的函数,也是方便小编以后查看。

为了方便  import numpy as np 。

1  np.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

  常用的有dtype,ndim,写参数时要指名。

  dtype的类型有:

np.int64 #Signed 64-bit integer types
np.float32 #Standard double-precision floating point
np.complex #Complex numbers represented by 128 floats
np.bool #Boolean type storing TRUE and FALSE values
np.object #Python object type
np.string_ #Fixed-length string type
np.unicode_ #Fixed-length unicode type

2  数据类型对象(dtype)

  C++/C 这样定义一个结构体类型,里面又许多不同的数据:

struct node{
        int age;
        string name;
        bool sex;
};

  np.dype也可以实现上述的内容,首先就要构建一个数据结构体类型,定义相关字段名和数据类型。

  注意U大写时才是Unicode类型,小写为整形。

teacher = np.dtype([(name,U20),(age,i4),(sex,string_)])
one = np.array([("张",50,‘man‘),("江",32,‘man‘),("卢",30,‘man‘)])
print(one)
print(one[0])

  结果:

    

[[‘张‘ ‘50‘ ‘man‘]
 [‘江‘ ‘32‘ ‘man‘]
 [‘卢‘ ‘30‘ ‘man‘]]
[‘张‘ ‘50‘ ‘man‘]

3  数组矩阵的属性。

  np的方法 都可以制定axis=0表示对列进行计算 axis=1对行进行计算

  a=array([1,2,3])或者a=array([(1,2,3),(4,5,6),(7,8,9)])或者a=array([[1,2,3],[4,5,6],[7,8,9]])

      ones((3,4)) 创建内容全1的数组   zeros((2,3),dtype=int16) 内容全0 empty((2,3))内容随机

      a=arange(1,2,0.1)  创建一个从1开始至2间隔为0.1的数组

      a.size数组元素的个数

      a.shape数组的形状  其中a.reshap(2,4,3) 表示调整数组a的维数

      a.ndim数组轴的个数

      a.dtype数组元素的类型

   a.real  a.imag 分别表示数组的实部和虚部

   ndarray.itemsize 以字节的形式返回数组中每一个元素的大小

4  创建数组

  numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:

  注意:其中的值都是未初始化的,但不为0.

  numpy.zeros创建指定大小的数组,数组元素以 0 来填充:

# 自定义类型
z = np.zeros((2,2), dtype = [(x, i4), (y, i4)])  
print(z)

  numpy.ones创建指定形状的数组,数组元素以 1 来填充,就是创建单位矩阵

5 从已有的数组转化为array

  numpy.asarray(a, dtype = None, order = None)

  a为任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组

import numpy as np 
 
x =  [1,2,3] 
a = np.asarray(x)  
print (a)

6  numpy.arrange(start, stop, step, dtype)

  步长step默认为1

import numpy as np
 
# 设置了 dtype
x = np.arange(5, dtype =  float)  
print (x)

7  numpy.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下

  np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

  其中num默认为50     endpoint  该值为 true 时,数列中中包含stop值,反之不包含,默认是True。   restep为true时显示间距

import numpy as np
a = np.linspace(1,10,10)
print(a)

8  numpy.logspace 函数用于创建一个于等比数列。格式如下:

  np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)  

  base 就是 对数log的底数

import numpy as np
# 默认底数是 10
a = np.logspace(1.0,  2.0, num =  10)  
print (a)
[ 10.           12.91549665     16.68100537      21.5443469  27.82559402      
  35.93813664   46.41588834     59.94842503      77.42636827    100.    ]

 

以上是关于numpy学习的主要内容,如果未能解决你的问题,请参考以下文章

Numpy学习:《Python数据分析基础教程NumPy学习指南第2版》中文PDF+英文PDF+代码

《Python机器学习及实践》----无监督学习之数据聚类

《Python机器学习及实践》----无监督学习之数据聚类

Numpy学习笔记

Numpy学习一:array数组对象

Numpy学习练习代码 ——