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. H5页面单点登录跳回首页 http url参数转义

    在往首页跳的时候因为是单点登录进来的,url后面会带有参数,然后存入会话,所以我要拿到原本存入会话的参数放入url后面 但是返回的时候页面报错了 http://localhost:18086/h5ap ...

  2. 解决物理机U盘安装Kali Linux2018.1,光驱无法加载问题

    1.无效的方法: (1)执行 df -m,然后查看U盘设备是否挂载到了/media,导致cd-rom不能被挂载,执行 umount  /media. (2)在光驱加载安装界面,把U盘拔下换到电脑的另外 ...

  3. Web基础之Spring MVC

    Spring MVC Spring MVC 说是框架,对Tomcat来说其实就是一个Servlet,关于如何从上古时期的Servlet演化到如今的SpringMVC的,可以看看这篇博文:Spring ...

  4. POJ 3916:Duplicate Removal 将相近的重复元素删除

    Duplicate Removal Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1745   Accepted: 1213 ...

  5. node - 路由的使用

    一,服务器文件 app.js  .( 要使用路由的文件)   const express = require('express') const app = express() const swig = ...

  6. 地图js及json包

    echarts github上的地图js及json包:https://github.com/apache/incubator-echarts/tree/master/map 上面链接没有县及的地图js ...

  7. 027-PHP编码和解码函数base64

    <?php $data = "我爱PHP";//解码前的值 print("我爱PHP: " . base64_encode($data)); //进行解码 ...

  8. jvm 性能监控与linux常用命令

    linux日常的运维 .Java开发 管理监控命令  ,较为浅显,欢迎提意见,我将在后面持续补充.

  9. js对象等号赋值的bug

    var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a.x); console.log(b.x); 有道题是这样的,觉得很奇葩,分析一下 ...

  10. vue坑 - vue安装vue-cli报错coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)或者说不支

    $ npm install -g vue-cli npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to ...