python numpy和矩阵
2、numpy数据选取
lst=[[1, 2, 3], [4, 5, 6]]
np.array(lst)[:-1]
Out[32]: array([[1, 2, 3]])
np.array(lst)[:,:-1]
Out[33]:
array([[1, 2],
[4, 5]])
1、Python中numpy数组的拼接、合并
https://blog.csdn.net/qq_39516859/article/details/80666070
import numpy as np
#创建ndarray,array为数组,ndarray为n维数组 即 n dimension array
# <class 'numpy.ndarray'>
a=np.array([1,2,3]);print(a,type(a))
#numpy中数组,同一个数组中所有元素必须为同一个类型
#均为字符串类型
data=np.array([1,2,'a']);print(data)
data=np.mat(data);print(data) #数组行列的变换,即转置
# x*y -->> y*x
data=[[1,2],[3,4]]
new_data=np.array(data).transpose();print(new_data) #1*2*3 -->> 3*2*1
data=[[[1,2,3],[4,5,6]]]
new_data=np.array(data).transpose();print(new_data) #1*2*3 -->>1*3*2
new_data=np.array([i.transpose() for i in np.array(data)]);print(new_data)
#如何向ndarray中添加元素 #数组中所有数据合并
data=np.arange(12).reshape((3,4))
new_data=data.ravel();print(new_data) #1*1 按行合并
new_data=data.ravel('F');print(new_data) #1*1 按列合并 #创建矩阵 <class 'numpy.matrixlib.defmatrix.matrix'>
# ValueError: matrix must be 2-dimensional
b=np.mat(a);print(b,type(b))
c=np.mat([[1,2,3]]);print(c,type(c)) #创建常见矩阵
#0矩阵、全1矩阵、0-1均匀分布、小于10整数、2-8之间整数、2*2对角线为1矩阵
data=np.mat(np.zeros((3,3)));print(data)
data=np.mat(np.ones((2,4)));print(data)
data=np.mat(np.random.rand(2,2));print(data)
data=np.mat(np.random.randint((10),size=(3,3)));print(data)
data=np.mat(np.random.randint(2,8,size=(2,5)));print(data)
data=np.mat(np.eye(2,2,dtype=int));print(data) #常见矩阵运算
data1=np.mat(np.array([[1,2],[3,4]]))
data2=np.mat(np.array([[1,1],[1,1]]))
#矩阵相乘
data=data1*data2;print(data)
#矩阵点乘
data=np.multiply(data1,data2);print(data)
#矩阵求逆、转置
data=data1.I;print(data)
data=data1.T;print(data) #数组、矩阵转换为列表
data=np.array([1,2]).tolist();print(data)
data=data1.tolist();print(data) #矩阵的分隔和合并
data1=np.mat(np.array([[1,2],[3,4]]))
new_data=data1[:1,:1];print(new_data)
#合并、按列合并
new_data=np.vstack((data1,data1));print(new_data)
#合并、按行合并
new_data=np.hstack((data1,data1));print(new_data) #计算每一列、每一行的和
new_data=data1.sum(axis=0);print(new_data) #列和 1*2矩阵
new_data=data1.sum(axis=1);print(new_data) #行和 2*1矩阵
#计算第二行所有列和,得到一个数字
new_data=np.sum(data1[1,:]);print(new_data) #计算最大、最小值和索引
new_data=data1.max();print(new_data) #所有元素最大值
new_data=data1.min();print(new_data) #所有元素最小值
new_data=np.max(data1,0);print(new_data) #计算所有列最大值
new_data=np.max(data1,1);print(new_data) #计算所有行最大值
new_data=np.argmax(data1,0);print(new_data) #计算所有列最大值索引
new_data=np.argmax(data1,1);print(new_data) #计算所有行最大值索引
python numpy和矩阵的更多相关文章
- Python numpy中矩阵的用法总结
关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...
- python中的矩阵、多维数组----numpy
https://docs.scipy.org/doc/numpy-dev/user/quickstart.html (numpy官网一些教程) numpy教程:数组创建 python中的矩阵.多维数 ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- python numpy笔记(重要)
1.np.array 的shape (2,)与(2,1)含义 ndarray.shape:数组的维度.为一个表示数组在每个维度上大小的整数元组.例如二维数组中,表示数组的“行数”和“列数”. ndar ...
- 关于python中的矩阵乘法(array和mat类型)
关于python中的矩阵乘法,我们一般有两种数据格式可以实现:np.array()类型和np.mat()类型: 对于这两种数据类型均有三种操作方式: (1)乘号 * (2)np.dot() (3)np ...
- Python NumPy学习总结
一.NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Num ...
- Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)
Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...
- python数组和矩阵使用总结
python数组和矩阵使用总结 1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了n ...
- CS231n课程笔记翻译1:Python Numpy教程
译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...
随机推荐
- UVA - 10891 Game of Sum (区间dp)
题意:AB两人分别拿一列n个数字,只能从左端或右端拿,不能同时从两端拿,可拿一个或多个,问在两人尽可能多拿的情况下,A最多比B多拿多少. 分析: 1.枚举先手拿的分界线,要么从左端拿,要么从右端拿,比 ...
- 网卡绑定多个ip
现在我的树莓派上的wlan0的IP是192.168.31.237,之前通过双绞线连接时候eth0的ip是192.168.31.50 . 我就想啊,能不能把wlan0的ip设置成50.......... ...
- 09.swoole学习笔记--进程事件
<?php //进程数组 $workers=[]; //创建进程的数据量 $worker_num=; //创建启动进程 ;$i<$worker_num;$i++){ //创建单独新进程 $ ...
- 七十五、SAP中数据库的使用SQL
一.在SAP中可以使用两张数据库,一直是NativeSQL和OPEN SQL. Native SQL(本地SQL)特点: 1.每种关系型数据库都有其对应的 SQL,是数据库相关的. 2.不同的 SA ...
- 十八、SAP中使用IF/ELSE判断语句,以及sy-subrc的用法
一.sy_subrc为上一条语句的执行结果,如果为0,则表示执行成功. 需要注意的是,IF ELSE语句,每一个关键字都需要带句号 二.执行效果如下 相关代码如下 *&------------ ...
- 085-PHP文件引用include(二)
01.php <?php function foo() { global $color; include '02.php'; echo "A $color $fruit"; ...
- Python MySQL 入门
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
- Web基础之Mybatis
Web基础之Mybatis 对比JdbcTempalte,mybatis才能称得上是框架,JdbcTempalte顶多算是工具类,同时,对比Hibernate,Mybatis又有更多的灵活性,算是 ...
- P1031 查验身份证
转跳点:
- HDU - 4082 Hou Yi's secret
题意:射箭落在n个点,任取三点可构成一个三角形,问最大的相似三角形集(一组互相相似的三角形)的个数. 分析: 1.若n个点中有相同的点,要去重,题目中说射箭会形成洞,任选三个洞构成三角形,因此射在同一 ...