python-->numpy笔记

# encoding:utf-8
import numpy as np

data1 = [1,2,3,4,5.6,7,8.9]
arr1 = np.array(data1)
print arr1

data2 = [[1,2,3,4],[5,6,7,8]]
arr2 = np.array(data2)
print arr2

#array.ndim 看维数
print arr1.ndim
print arr2.ndim
#array.shap 看矩阵几行几列
print arr1.shape
print arr2.shape

#创建指定长度或矩阵全0数组
print np.zeros(10)
print np.zeros((3,6))
#创建指定长度或矩阵全1数组
print np.ones(10)
print np.ones((2,4))

#返回一些垃圾值
print np.empty((1,2,2))

#numpy内置range函数
print np.arange(10)

#创建NxN的单位矩阵
print np.eye(3)

#bool 型索引
names = np.array(['Bob','Joe','Will','Bob'])

#这个运算将产生bool型数组
#names == 'Bob'

arr = np.empty((8,4))
print arr
#选出的是4,5,0,1行
print arr[[4,5,0,1]]

#3行5列的矩阵
nn = np.arange(15).reshape([3,5])
print nn

import matplotlib.pyplot as plt

points = np.arange(-5,5,0.01)

#接受2个一维数组,产生2个二维矩阵
xx,yy = np.meshgrid(points,points)

z = np.sqrt(xx**2+yy**2)
#plt.imshow(z,cmap=plt.cm.gray);plt.colorbar()
#plt.title('image plot of $\sqrt{x^2+y^2}$ for a grid of values')
#plt.show()

#numpy.where() 三元表达式
x = np.array([1.1,1.2,1.3,1.4,1.5])
y = np.array([2.1,2.2,2.3,2.4,2.5])
c = np.array([True,False,True,True,False])

#c 里面为true选择x的,为false选择y的
re = np.where(c,x,y)
print re

arr = np.empty((4,4))
print np.where(arr > 0,2,-2)

bools = np.array([False,False,True,False])
#any检查数组中的值有一个或多个true,all,检查数组中的值都为true
print bools.any()
print bools.all()

a = np.array([1,3,1,2,5,3,2])
#排序
a.sort()
print a

#去重排序
print np.unique(a)

#一个数组中的值在另一个数组中的成员资格
print np.in1d(a,[1,4,5,8])

#保存文件格式默认.npy
ar = np.arange(10)
np.save('som',ar)
print np.load('som.npy')

#压缩保存文件
np.savez('ss',a=ar,b=arr)
tt = np.load('ss.npz')
print tt['b']

你可能感兴趣的:(python-->numpy笔记)