1、矩阵的点乘: a*b, 矩阵乘法:dot(a*b),矩阵的次方:a**num (num = 2,表示2次)
2、数组的并集,交集:
>>> a = [1,2,3]
>>> b = [2,4,5]
>>> list(set(a).intersection(set(b)))
[2]
>>> list(set(a).union(set(b)))
[1, 2, 3, 4, 5]
>>> list(set(a).difference(set(b)))
[1, 3]
>>> list(set(b).difference(set(a)))
[4, 5]
原文:https://blog.csdn.net/longzhiwen888/article/details/46562303
3、集合的交集,合集和补集:

4、数组的增、删、改、插:

>>> a=[1,2,3]

>>> a.remove(2)

>>> a

[1, 3]

>>> a=[1,2,3]

>>> del a[1]

>>> a

[1, 3]

>>> a= [1,2,3]

>>> a.pop(1)

2

>>> a

[1, 3]

5、将两个矩阵合并:

1) 生成矩阵:

  import numpy as np
  ###矩阵a
  a=np.floor(10*np.random.rand(2,2))
  ###a
  a
  array([[ 8.5.],
      [ 1.6.]])
 
  ###矩阵b
 b=np.floor(10*np.random.rand(2,2))
 b
 array([[ 1.9.],
     [ 8.5.]])
  2)合并矩阵:
 ###hstack()在行上合并
 np.hstack((a,b)) (或者: np.c_[a,b]
 array([[ 8.5.1.9.],
     [ 1.6.8.5.]])
 
 ####vstack()在列上合并
 np.vstack((a,b))
 array([[ 8.5.],
     [ 1.6.],
     [ 1.9.],
     [ 8.5.]])
6、numpy基础认识
数组初始化方式
一个numpy数组是一个值的矩阵,所有类型相同,并且索引是非负整数。维数是阵列的等级;
数组的形状是一个整数的元组,它给出了每个维度上数组的大小。
我们可以从嵌套的Python列表初始化numpy数组,并使用方括号来访问元素:
a = np.array([1, 2, 3])
可以通过a.shape来得到矩阵的形状 Numpy还提供了许多功能来初始化数组:
初始化一个全零矩阵,参数为矩阵形状:
a = np.zeros((2,2))
初始化一个全一矩阵,参数为矩阵形状:
b = np.ones((1,2))
初始化一个常数矩阵,参数第一个是形状,第二个是要被初始化的常数:
c = np.full((2,2), 7)
初始化一个单位矩阵,参数是矩阵的维数:
d = np.eye(2)
初始化一个随机数矩阵,参数是矩阵形状:
e = np.random.random((2,2))
初始化一个与之前矩阵形状相同的矩阵,参数是被参考形状的矩阵,值为随机数:
f = np.empty_like(a)
初始化一个矩阵,内容将向量a在一行内复制y次,再将该行赋值x次:
g = np.tile(a, (x, y)) 数组索引
1.切片:
与Python列表类似,numpy数组可以被切片。由于数组可能是多维的,因此必须为数组
的每个维度指定一个切片。索引a后得到的结果赋值给其他的存储变量b,b的存储地址
仍指向a的存储地址。 也可以将整数索引与切片索引混合在一起。但是,这样做会产生比原始数组更低级别的数
组。这与MATLAB处理数组切片的方式完全不同。 2.整数数组索引:
当使用切片将数组索引到numpy数组时,得到的数组将始终是原始数组的子数组。相比之
下,整型数组索引允许您使用另一个数组中的数据构造任意数组。
a[[0, 1, 2], [0, 1, 0]]
的结果等同于
[a[0, 0], a[1, 1], a[2, 0]] 整数数组索引的一个有用技巧是从矩阵的每一行中选择或变异一个元素:
a = np.array([0, 2, 0, 1])
b[np.arange(4), b] += 10 # 数组b中0到3行的第0,2,0,1元素
# 的值分别加10 3.布尔数组索引:
布尔数组索引可以挑出数组的任意元素。这种类型的索引用于索引满足某些条件的数组元
素:
bool_idx = (a > 2) # 返回矩阵中的元素说明矩阵a中对应
# 位置的值是否大于二,如果满足条件则为True,
# 否则为False a[bool_idx] # 返回数组的内容为bool_idx中值为True的位置上数组a中
# 对应的值 a[a > 2] # 效果等同于以上两步的合并 数据类型
每个numpy数组都是相同类型的元素的矩阵。 Numpy提供了一组可用于构造数组的数字数据
类型。 Numpy在创建数组时尝试猜测数据类型,但构造数组的函数通常还包含可选参数以明
确指定数据类型:
x = np.array([1, 2], dtype=np.int64) # 强制一个特定的数据类型 数组运算
矩阵加法:x + y
np.add(x, y)
矩阵减法:x - y
np.subtract(x, y)
矩阵叉乘:x * y
np.multiply(x, y)
矩阵除法:x / y
np.divide(x, y)
矩阵各元素开方:np.sqrt(x)
矩阵点乘:
x = np.array([[1,2],[3,4]])
y = np.array([[5,6],[7,8]]) v = np.array([9,10])
w = np.array([11, 12])
向量点乘:v.dot(w)
np.dot(v, w)
矩阵点乘列向量:x.dot(v)
np.dot(x, v)
矩阵点乘矩阵:x.dot(y)
np.dot(x, y)
求矩阵内元素的和:
所有元素和:np.sum(x)
所有行每一列的和:np.sum(x, axis=0)
所有列每一行的和:np.sum(x, axis=1)
矩阵转置矩阵:x.T(向量的转置还是向量)
广播
广播允许将向量加到矩阵的每一行并且不对向量执行复制操作:
import numpy as np # We will add the vector v to each row of the matrix x,
# storing the result in the matrix y
x = np.array([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]])
v = np.array([1, 0, 1])
y = x + v # Add v to each row of x using broadcasting
print(y) # Prints "[[ 2 2 4]
# [ 5 5 7]
# [ 8 8 10]
# [11 11 13]]" 7、矩阵按行,列求和

 

学习笔记25—python基本运算法则的更多相关文章

  1. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

  2. Noah的学习笔记之Python篇:命令行解析

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  3. Noah的学习笔记之Python篇:函数“可变长参数”

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  4. Noah的学习笔记之Python篇:装饰器

    Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) ...

  5. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  6. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

  7. 【学习笔记】Python 3.6模拟输入并爬取百度前10页密切相关链接

    [学习笔记]Python 3.6模拟输入并爬取百度前10页密切相关链接 问题描述 通过模拟网页,实现百度搜索关键词,然后获得网页中链接的文本,与准备的文本进行比较,如果有相似之处则代表相关链接. me ...

  8. 学习笔记之Python 3

    学习笔记之Python 3 教程 https://www.cnblogs.com/pegasus923/p/7624416.html 学习笔记之X分钟速成Python3 https://www.cnb ...

  9. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

随机推荐

  1. Linux中USB协议栈的框架简介

    文本旨在简单介绍一下Linux中USB协议栈的代码框架: 下图是USB协议栈相关数据结构的关系图: 下面结合上图看一下系统初始化的流程: 1.USB子系统初始化:\drivers\usb\core\u ...

  2. 深入浅出TCP之半关闭与CLOSE_WAIT

    转自:https://www.2cto.com/net/201309/243585.html(相关链接) 深入浅出TCP之半关闭与CLOSE_WAIT 终止一个连接要经过4次握手.这由TCP的半关闭( ...

  3. Linux上的oracle巡检脚本

    修改自大神博客:http://www.cnblogs.com/jyzhao/p/5364049.html 脚本巡检的优化:自动化,节省时间. 脚本需加强:巡检结果中有大量的sqlplus连接信息,后期 ...

  4. bzoj 3993 星际战争 - 二分答案 - 最大流

    3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值减少到0或者 ...

  5. 同时import两个版本的QtQuick【1、2】,默认使用

    在同一个qml文件中,如果同时import了Qtquick1和2,那么谁在后面,谁起作用

  6. SpringBoot Mybatis 分页插件PageHelper

    添加maven配置: <!-- 分布插件 --> <dependency> <groupId>com.github.pagehelper</groupId&g ...

  7. hdu5628 Clarke and math

    题目地址 题目链接 题意 求 \[ g(i)=\sum_{i1|i}\sum_{i_2|i_1}\sum_{i_3|i_2}...\sum_{i_k|i_{k-1}}f(i_k)\space mod\ ...

  8. Derek解读Bytom源码-孤块管理

    作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom ...

  9. 【C#】委托的发展

    "用事件去处理程序, 进而解决问题" ---- 委托的目的 委托早在C#2的时候就已经初具模型, 但是并不是特别灵活, 制止C#3才在代码中被广泛使用. C#4中泛型委托, C#5 ...

  10. Shell脚本(三)

    摘自:菜鸟教程 http://www.runoob.com/linux/linux-shell-echo.html Shell命令 1. echo命令 字符串输出 echo "OK! \c& ...