Python_numpy-基础以及进一步了解

python

type() len() 
?

向量化编程-广播机制

 向量化-一次处理一个数字转换为一次处理一批数据,尽可能的少使用for循环,使用arrray为基本元素进行操作
    使用numpy的函数或者操作符进行运算
 广播机制: ndim shape 解决了限制条件下不同ndmi或shape的ndarray之间的运算 
 the Numpy's features which are the basic of much of its power: vectorization and broadcasting

数据和元数据-numerical python

the raw array data (from now on, referred to as the data buffer),
and the information about the raw array data-meta data

属性

 实数虚数:real imag -->(complex 复数元素)
 关于数据  data dtype ndim shape  size
 关于内存  flags itemsize nbytes
 扩展:    flat strides ctypes base

ndarray 的赋值Assignment、视图、拷贝和广播--shape和数据
  副本(Shallow Copy)和视图(view)- 
  副本--The copy SHOULD NOT be affected by the changes made to the original array.
  the difference between these two terms 
  and to know which operations return copies and which return views.
  a view without copying data around.-赋值还是视图,对其中一个数组的改变都会影响另外一个
      The view SHOULD be affected by the changes made to the original array. 
      视图方法可以实现不同的数组对象共享同样的数据-视图相对于原来的数组来说,除了数据是共享的,其他都是独立的
        	当 my_arr2 的形状发生改变时,my_arr1 的形状并不会发生改变。 --shape
            当 my_arr2 的数据发生改变时,my_arr1 会发生同样的改变。 
order
    “c_index”导致跟踪C顺序索引。 “f_index”导致跟踪Fortran-order索引

elementwise

数学运算

 np.dot np.matmul np.multipy np.inner np.outer np.cross 

数学	
点乘,也叫做向量的内积、数量积。对两个向量执行点乘运算,就是对着两个向量对应位置一一相乘之后求和的操作,点乘的结果是一个标量
   表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影。 
两个向量的叉乘,又叫向量积、外积、叉积,叉乘的运算结果是一个向量而不是一个标量。
   并且两个向量的叉积与这两个向量组成的坐标平面垂直。 
   三维几何中,向量 a aa 和向量 b bb 的叉乘结果是一个向量,更为熟知的叫法是【法向量】,该向量垂直于a aa 和 b bb 向量构成的平面
   二维空间中,叉乘还有另外一个几何意义就是:a × b = a×b=a×b= 由向量 a aa 和向量 b bb 构成的平行四边形的面积

数据

 具备一定程度的统计学和线性代数知识
 具备对数据记性加工个后处理的能力
 具备运用复杂算法的设计和实现能力
 --掌握计算公式,实现代码,帮助理解算法的细节-二次加工处理,定制加工和处理

数据类型

01.numpy 是Python的数值 numerical 计算扩展,专门用来处理矩阵。数据结构是n维的数组对象,叫做ndarray
  ndarray数组需要注意的是,它内部的元素必须为相同类型,比如数值或者字符串
  包数据类型: 标量类型、复合类型
      标量类型
	      浮点型有:float16、float32、float64、float128
		  整型有:int8、int16、int32、int64
		  字符串类型 字节串 复数类型
	  复合类型
  自定义数据类型
   相同属性相同大小
02.pandas.Series( data, index, dtype, name, copy)
 Series 由一组数据和数据标签组成。数据标签有索引的作用。
   data:一组数据(ndarray 类型)  数据,索引,数据类型 
03.pandas.DataFrame( data, index, columns, dtype, copy)	  
  DataFrame 是一个表格型的数据结构,data:一组数据(ndarray、series, map, lists, dict 等类型)。
    它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。
    DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)

numpy 补充概念

 坐标轴 axis
 维度和形状   shape axis  ndim	 
 索引--单个元素  切片--多个元素[start:end:step]不包括终点的值
                 当start是0时,可以省略;当end是列表的长度时,可以省略.
				 trans_matrix[:3,:3]
				 trans_matrix[0:3,3]
	
	元组中只有一个元素时,元素后面需要加逗号(1,)
	 元组通过圆括号中用逗号分割的项目定义
()圆括号 --01.作为函数的一种结构,02.作为元祖的数据类型,eg: np.zero((N,4))
[]方括号 --01.作为索引的表示      02.作为列表的数据类型
索引 循环 切片 遍历 index loop slice  traversal iterate  recursion

操作

import numpy as np
##数据
np.array()
zero_line = np.asarray([0, 0, 0, 1])

###形状
np.eye(4,dtype=np.float32)
np.zero((N,4))
np.ones()

##数组形状修改
reshape

##转置 数组.T  或者使用 np.tanspose


###输出
matrix.reshape(16).tolist()

###数组的拼接函数

计算机

内存 
 order 数据排列方式: row_major    行主序 C语言 C_contiguous
                column_major 列主序 Fortran和matlab语言 F_contiguous
                column_major 列主序 Fortran和matlab语言 F_contiguous
 广播的运行机制
    不同大小的时候的调整机制
 
索引 循环 切片 遍历 迭代 递归 广播  index loop slice  traversal iterate  recursion	broadcast 

数组的维度

shape axis  ndim
len(shape) == ndim 
 shape[0]  axis0  个数
 shape[1]  axis1  维度元素个数
 (-1,)	  
posted @ 2022-12-09 17:27  辰令  阅读(21)  评论(0编辑  收藏  举报