Python 科学计算之numpy知识点总结 新手入门

Python 科学计算之numpy

------------------------------------------Numpy库入门------------------------------------------

 

1.一维数据由对等关系的有序或无序数据构成,才用线性方式组织。对应列表、数组和集合等概念。列表集合

2.二维数据由多个一维数据构成,是一维数据的组合形式。表格是典型的二维数据,其中,表头是二维数据的一部分。列表

3.多维数据由一维数据或二维数据在新的维度上扩展形成。比如加上时间维度。 列表

4.高维数据仅利用最基本的二元关系展示数据之间的复杂结构。(键值对)字典或数据表示格式

5.Numpy使用:import numpy as np (引入模块的别名)

6.N维数组对象:ndarray:

  数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据。

  设置专门的数组对象,经过优化,可以提升这类应用的运算速度。

  Ndarray是一个多维数组对象,由两部分构成:实际的数据,描述这些数据的元数据(数据维度、数据类型等)。

  Ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。

  Np.array() 生成一个数组,轴是保存数据的维度,秩是轴的数量

有符号的类型

无符号的类型

复数类型

  对元素类型精细定义,有助于合理使用储存空间并优化性能。

7.数组创建的方法

    示例:

               类似于range

               注意全为1

             注意 全为0 不指定为浮点数

              类型为整数 int32

            n*n的矩阵 对角线为1 其余为0

( ↑ ↑ ↑ 这三个函数在科学计算时很重要 ↑ ↑ ↑ )

  1为起始位置 10为结束位置

  endpoint为10是否为最后一个元素

  concatenate连接两个数组

8.数组的维度变换:

    注意 原数组不变

    注意 原数组改变

    两个维度进行调换(暂时不懂)

    返回降维后的一维数组原数组不变

9.ndarray数组的类型变换:

  代码:a =np.ones((2,3))

           a = np.ones((2,3),dtype = np.int)

       Out[64]:

           array([[1, 1, 1],

               [1, 1, 1]])

           b = a.astype(np.float)

       Out[66]:

           array([[1., 1., 1.],

               [1., 1., 1.]])

  注意:astype()方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致。

10.ndarray数组向列表的转换:

  代码:

    

11.ndarray数组的索引和切片:

  a[1 : 4 : 2分别为起始编号,终止编号和步长,但是注意终止编号是不包含

     

     ↑ ↑ ↑注意:多维数组的索引很多层时,第一个索引是最外层的,以此类推

      

      ↑ ↑ ↑注意:·索引和切片的不同点在于是否有

12.ndarray数组的运算:

    注意:ceil不超过元素的整数值,floor小于这个元素的最大整数值

              square等函数使用后并不直接刷新原数组的值

↑↑↑二元函数

13.数据的CSV文件存取:

   CSV是一种常见的文件格式,用来存储批量数据

   用法:

   np.savetxt(“frame”, array , fmt=’%.18e’ , delimiter=None)

      frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件

      array:存入文件的数组

      fmt:写入文件格式,例如:%d %.2f %.18e

      delimiter:分割字符串,默认是任何空格

   

    np.loadtxt(“frame”, dtype=np.float , delimiter=None , unpack=False)

      frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件

      dtype:数据类型,可选

      delimiter:分割字符串,默认是任何空格

      unpack:如果True,读入属性将分别写入不同变量

   CSV文件的局限性:只能有效存储一维二维数组:

14.多维数组的文件存取:

   用法:

     a.tofile(“frame” , sep=’’ , format=’%s’)

       frame:文件、字符串

       sep:数据分割字符串,如果是空串,写入文件为二进制

       format:写入数据的格式

       注意:sep为逗号时,会成为一维数组,当不指定时为二进制文件,普通打开会乱码,但是二进制占用的空间更少,如果                  用逗号,读入文件时要使用 .reshape来还原之前的维度

     np.fromfile(“frame”, dtype=float , count =-1 , sep=’’)

       frame:文件、字符串

       dtype:读取的数据类型

       count:读入元素的个数,默认为-1,-1表示读入整个文件

       sep:数据分割字符串,如果是空串,写入文件为二进制

15.numpy的便捷文件存取(系统自定义格式):

   np.save(fname, array)或 np.savez(fname, array)

   np.load(fname)

   注意:如果要使文件和其他程序的对接,就最好使用前两种方法

16.numpy的随机数库函数:

 使用方法:

 

 

   

   

 

        注意:是每列的数据改变

 

17.numpy统计函数:

 

 

 argmin 与 unravel_index二者经常结合使用



                                                                    Dr_JaiWang

                                                                      2018.5.16


猜你喜欢

转载自blog.csdn.net/qq_41125761/article/details/80336333