Numpy学习--多维矩阵“理解 : 的用法”

:(冒号)在多维数组选快儿时经常会用到,今天特此做下笔记。

#############创建numpy数组
#1111111定义普通数组
#先直接定义是一个list
list1 = [[2,3,1,1],[3,4,5,7],[3,1,6,1]]
#然后np.array() 把list 变成数组
array = np.array(list1)
#2222222 定义空数组     #全1 数组用ones
zero =np.zeros((3,2))
print zero
################
#数组简单操作
# array + array   array * 10
#获取数组的行列
print array.shape[0]  #row number
print array.shape[1] # column number
###################
#索引
#数组特定的一个数
print array[0][1]
print array[0,1]
#切片
print array[:,1]  #返回[3,4,1]
print array[1:2,:] #返回[[3,4,5,7]]
print array[:2,:] #返回前两行

Numpy 数组的index :

1.array[1:3,:] 表示 第2-3行。 index 0,1,2...代表着第1,2,3行 。当[1:3]时候,可看成index1包括,3不包括.

2.array [:2,:] 表示前两行

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import numpy as np
from numpy import linalg
#转置的两种方法
array = np.array([[1, 2], [2, 4], [2, 5]])
arrayt = array.reshape((2, 3))
array.T
# #####数组整体操作#############
# sqrt exp
np.sqrt(array)
np.exp(array)
#还有 abs, square->**2, log、log10, 。。。。。。。参考书P99

###############
#对array 每个元素操作
z = np.sqrt(array**2)

#sum, mean, std,min,argmax计算

#sum 求和
np.sum(array)
array.sum() #默认 axis = 0, 把所有的数相加
array.sum(axis = 1) #把一行的向量相加
#mean  求均值
np.mean(array)
array.mean()
#min 最小值
#print array.min()

#排序
arr = np.array([1, 4, 2, 7, 6, 3])
#print arr
arr.sort() #从小到大
#print arr
###############线性代数###############
x = np.array([[1, 3], [2, 4]])
y = np.array([[2, 5], [6, 5]])
x*y #这是点积
x.dot(y) #x积 矩阵的乘法  #np.dot(x, y)

############linalg
# diag  trace 求迹 det 行列式 inv 逆 pinv 伪逆
w, v = linalg.eig(x)
#print w
#print v
a = linalg.det(x)

原文地址:https://www.cnblogs.com/Simplelee/p/8994369.html

时间: 2024-09-30 03:08:11

Numpy学习--多维矩阵“理解 : 的用法”的相关文章

CUDA学习之一:二维矩阵加法

今天忙活了3个小时,竟然被一个苦恼的CUDA小例程给困住了,本来是参照Rachal zhang大神的CUDA学习笔记来一个模仿,结果却自己给自己糊里糊涂,最后还是弄明白了一些. RZ大神对CUDA关于kernel,memory的介绍还是蛮清楚,看完决定写一个二维数组的加法.如果是C++里的加法,那就简单了,用C[i][j] = A[i][j] +B[i][j]就可以. 1 void CppMatAdd(int A[M][N],int B[M][N],int C[M][N]){ 2 for(int

Numpy学习笔记(一)

Python本身支持的数据结构不多,除了int.float和string等一些常规的之外,还有列表.元祖.字典,都有自己的属性和方法,怎么说呢,功能已经足够强大,解决一般的问题已经足够,可当数据量增大,计算形式变得多样,这种普通的数据结构效率不高,况且python本身对于数组的支持不是很好,这也是为什么会有一批类似于numpy.scipy.panda等第三方库,大大扩展了python的功能,胶水的本质越来越突出.学习的成本也不高,不会像重新学一门语言那么困难,况且据了解,python的科学计算能

numpy 学习总结

numpy 学习总结 作者:csj更新时间:01.09 email:[email protected] 说明:因内容较多,会不断更新 xxx学习总结: #生成数组/使用astype/取值和赋值/ 数学运算 / 内置的创建数组的函数/ 文件输入输出 # Numpy是Python语言的一个library numpy # Numpy主要支持矩阵操作和运算 # Numpy非常高效,core代码由C语言写成 # pandas也是基于Numpy构建的一个library # 现在比较流行的机器学习框架(例如T

NumPy学习(让数据处理变简单)

NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同类型的元素集合. 可以使用基于零的索引访问集合中的项目. ndarray中的每个元素在内存中使用相同大小的块. ndarray中的每个元素是数据类型对象的对象(称为 dtype). 从ndarray对象提取的任何元素(通过切片)由一个数组标量类型的 Python 对象表示. 它从任何暴露数组接口的对

『Python』Numpy学习指南第十章_高端科学计算库scipy入门(系列完结)

简介: scipy包包含致力于科学计算中常见问题的各个工具箱.它的不同子模块相应于不同的应用.像插值,积分,优化,图像处理,,特殊函数等等. scipy可以与其它标准科学计算程序库进行比较,比如GSL(GNU C或C++科学计算库),或者Matlab工具箱.scipy是Python中科学计算程序的核心包;它用于有效地计算numpy矩阵,来让numpy和scipy协同工作. 在实现一个程序之前,值得检查下所需的数据处理方式是否已经在scipy中存在了.作为非专业程序员,科学家总是喜欢重新发明造轮子

numpy学习总结

numpy用法 导入:import numpy as np 生成矩阵:array = np.array([[1,2,3],[4,5,6]]) 矩阵维度:array.ndim 矩阵形状:array.shape 矩阵大小:array.size 矩阵元素类型:array.dtype 创建array a = np.array([1,2,3], dtype=np.int32) dtype:指定数据类型 矩阵维度:创建时方括号的层数代表矩阵的维度 常用用法 zero = np.zeros((2, 3)) 生

学习触动和矩阵的维度问题

算一算,从第一页到第三十九页我看了4个小时,最大的感受是关于MATLAB的帮助文件的使用.MATLAB的学习者与c语言学习者相比更加的小众,因此许多东西你在网上是找不到 只能查帮助文件了,幸亏MATLAB提供极其详细的帮助文件.(但我渣渣的英语呀) 1:直接使用help命令:help 你所要查询的东西,但显示的东西比较粗略 2:在command界面输入helpdesk,弹出帮助导航窗口界面 3:在光标停在你想查询的东西上,按下F1,自动回弹出个简化的窗口,并提供并不简化的帮助 最后,我恨我渣渣的

Numpy学习笔记(二)

最近一直在学HTML5和CSS3,Numpy的东西都有些生疏,那本书是已经看完了的,紧跟着相关的代码也都敲了一遍,还是发现了一些问题,因为这样的学习方式,总感觉太被动,紧紧跟着示例代码,缺少了整体观,即使你现在问我Numpy可以处理什么问题,我还是回答不出.所以,有必要回头重来一遍,再一次审视代码背后的意义,写博客真的是一个很不错的方式,毕竟,如果你不懂,写出来的文字必然也是混乱的. 那,下面记录一下Numpy学习笔记(二) Example1 文件读写:数据不应该仅仅存在内存里,应该及时保存在硬

【LeetCode-面试算法经典-Java实现】【074-Search a 2D Matrix(搜索二维矩阵)】

[074-Search a 2D Matrix(搜索二维矩阵)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: Integers in each row are sorted from left to right. The first