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

Posted 珞冬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于Numpy学习--多维矩阵“理解 : 的用法”的主要内容,如果未能解决你的问题,请参考以下文章

Python: 向量矩阵和多维数组(基于NumPy库)

42-python中的矩阵多维数组----numpy

python中的矩阵多维数组----numpy

Numpy库01_多维矩阵数据结构

numpy ndarray 交换多维数组(矩阵)的行/列

Python机器学习(五十二)SciPy 基础功能