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. dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib

    本地环境报错有 3 处,如下: 1. 执行命令,无论执行 php 的什么命令,统一报错 dyld: Library not loaded: /usr/local/opt/icu4c/lib/libic ...

  2. 10 分钟彻底理解 Redis 的持久化和主从复制

    在这篇文章,我们继续有关Redis方面知识的学习,一起了解一下其中一个非常重要的内容:Redis的持久化机制. 什么是Redis持久化? Redis作为一个键值对内存数据库(NoSQL),数据都存储在 ...

  3. 指令——pwd

    完整的指令的标准格式:Linux通用的格式 #指令主体(空格) [选项](空格) [操作对象] 一个指令可以包含多个选项,操作对象也可以是多个. 指令pwd: 用法:#pwd(print workin ...

  4. python 编写程序输出50以内勾股数,如下图所示,要求每组显示六祖,各组勾股数无重复

    import math n = 0 for a in range(1,49): for b in range(a,49): c = math.ceil(math.sqrt(a**2+b**2)) if ...

  5. sass的安装和基础语法

    安装 下载ruby安装包[官网非常慢ruby官网] ruby-2.3.3-x64-mingw32.7z 下载sass sass-3.7.4.gem 方法一: ruby压缩包,解压即可,在bin目录下, ...

  6. JNI操作二维数组

    之前的文章讲解了有关JNI使用方法,这篇文章进阶一点,介绍下JNI操作二维数组的方法.有了之前文章的操作JNI的方法,这里直接上代码了. Java代码部分 package com.testjni; p ...

  7. (排序EX)P1583 魔法照片

    题解: 需要注意的是,快排完之后并不是按照编号从小到大的顺序输出 #include<iostream>using namespace std;int r=0;void swap(int & ...

  8. 51nod 1201:整数划分 超级好的DP题目

    1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} { ...

  9. 正则表达式入门(ed模糊匹配)

    元字符: /b 代表着单词的开头或结尾,也就是单词的分界处.如果要精确地查找hi这个单词的话,我们应该使用/bhi/b. .是另一个元字符,匹配除了换行符以外的任意字符,*同样是元字符,它指定*前边的 ...

  10. tx2系统备份与恢复

    https://blog.csdn.net/ycy_dy/article/details/80493392 https://blog.csdn.net/piaopiaopiaopiaopiao/art ...