:(冒号)在多维数组选快儿时经常会用到,今天特此做下笔记。
#############创建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)