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和矩阵的更多相关文章

  1. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  2. python中的矩阵、多维数组----numpy

    https://docs.scipy.org/doc/numpy-dev/user/quickstart.html  (numpy官网一些教程) numpy教程:数组创建 python中的矩阵.多维数 ...

  3. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  4. python numpy笔记(重要)

    1.np.array 的shape (2,)与(2,1)含义 ndarray.shape:数组的维度.为一个表示数组在每个维度上大小的整数元组.例如二维数组中,表示数组的“行数”和“列数”. ndar ...

  5. 关于python中的矩阵乘法(array和mat类型)

    关于python中的矩阵乘法,我们一般有两种数据格式可以实现:np.array()类型和np.mat()类型: 对于这两种数据类型均有三种操作方式: (1)乘号 * (2)np.dot() (3)np ...

  6. Python NumPy学习总结

    一.NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Num ...

  7. Python Numpy shape 基础用法(转自他人的博客,如涉及到侵权,请联系我)

    Python Numpy shape 基础用法 shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入 ...

  8. python数组和矩阵使用总结

    python数组和矩阵使用总结 1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了n ...

  9. CS231n课程笔记翻译1:Python Numpy教程

    译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...

随机推荐

  1. <深入理解redis>读书笔记

    chapter2 键管理与数据结构 对大多数redis解决方案而言,键的命名设计至关重要.对于管理来说,内存消耗和redis性能都与数据结构设计相关.所以对开发者而言,最好有数据结构的命名文档规范. ...

  2. tornado 获取 路径上的参数

    https://www.cnblogs.com/quzq/p/10975766.html class JavaHandler(RequestHandler): #重写RequestHandler中in ...

  3. UVA - 1608 Non-boring sequences (分治)

    题意:如果一个序列的任意连续子序列中至少有一个只出现一次的元素,则称这个序列式为non-boring.输入一个n(n≤200000)个元素的序列A(各个元素均为109以内的非负整数),判断它是否无聊. ...

  4. 文本编辑器vim/vi——模式切换及输入模式

    vim一共有三种模式:命令模式.输入模式.末行模式 要从命令模式切换到输入模式:a,i,o a——append 属于在后面追加内容:i——insert 属于插入,在前面插入内容:o——other 属于 ...

  5. 一次C语言编程遇到的问题总结

    今天用C语言做了一个简单的用户登录注册存取款等功能的系统,发现有很多功能并不会实现,大概是使用Java太多了导致许多C的知识都忘记了,现在把碰到的问题总结如下: 1.字符串复制问题 java等一些编程 ...

  6. SQLAlchemy建立数据库模型之间的关系

    一对多关系 多对一关系 多对多关系 一对一关系 一对多关系(一个作者,多篇文章) ## 一对多关系,单作者-多文章,外键不可少 ## 外键(ForeignKey)总在多的那边定义,关系(relatio ...

  7. 八十四、SAP中的ALV创建之三,创建ALV表格

    一.销售表是2个表,一个抬头表,一个是销售内容表,数据库查询语句如下, 二.我们添加相关LAYOUT的格式控制如下 三.需要报每个字段都用相应的LAYOUT控制一下 四.点击模式,在模式里面,添加RE ...

  8. 【剑指Offer】面试题05.替换空格

    题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20are ...

  9. 基础语法-其它流程控制语句break和continue

    基础语法-其它流程控制语句break和continue 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.break语句 /** * break语句 * @author 尹正杰 * ...

  10. ZOJ - 3635 Cinema in Akiba(树状数组+二分)

    题意:已知有n个人,从第一个人开始每个人被安排在第ai个空座上,有m组询问,问某人所坐的位置. 分析: 1.用树状数组维护空座的个数,方法: 将所有的空座初始化为1,sum(x)则表示从座位1到座位x ...