2015-03-03numpy(3)

来源:互联网 发布:如何用手机淘宝开网店 编辑:程序博客网 时间:2024/05/16 07:41
--Numpy(2)
--通用函数:快速的元素级数组函数
eg:
np.sqrt(arr) --平方根
np.exp(arr) 
np.maximum(x,y) --元素级最大值
np.modf(arr)--将数组定位小数和整数部分以两个独立数组的形式返回


--利用数组进行数据处理
np.meshgrid函数接受两个一维数组,并产生两个二维矩阵(对应于两个数组中所有的(x,y)对)
eg:
points=np.arange(-5,5,0.01)
xs,ys=np.meshgrid(points,points)
import matplotlib.pyplot as plt
z=np.sqrt(xs**2+ys**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")


--将条件逻辑表述为数组运算
eg:
xarr=np.array([1.1,1.2,1.3,1.4,1.5])
yarr=np.array([2.1,2.2,2.3,2.4,2.5])
cond=np.array([True,False,True,True,False])
result=np.where(cond,xarr,yarr)


np.where(arr>0,2,-2)
np.where(arr>0,2,arr)


--数学和统计方法
arr=np.array([[0,1,2],[3,4,5],[6,7,8]])
arr.mean()
np.mean(arr)
可以接受一个axis参数(用于计算该轴向上的统计值)
arr.mean(axis=1)
arr.sum(0)
arr.cumsum(0)
arr.cumprod(1)
sum求和 mean算术平均数 std、var分别为标准差和方差 min、max最大值和最小值 
argmin、argmax分别为最大和最小元素的索引
cumsum所有元素的累计和 cumprod所有元素的累计积


--用于布尔型数组的方法
eg:
arr=randn(100)
(arr>0).sum() --正值的数量
any用于测试数组中是否存在一个或多个True,而all则检查数组所有值是否都是True。
eg:
bools=np.array([False,False,True,False])
bools.any()
bools.all()


--排序
eg:arr.sort()
arr=np.random.randn(5,3)
arr.sort(0)
arr.sort(1)


--唯一化以及其他的集合逻辑
np.unique--找出数组的唯一值并返回已排序的结果
eg:np.unique(arr)
intersect1d(x,y)计算x和y中的公共元素,并返回有序结果
union1d(x,y)计算x和y的并集,并返回有序结果
in1d(x,y)得到一个表示“x的元素是否包含于y”的布尔型数组
setdiff1d(x,y)集合的差,即元素在x中且不在y中
setxor1d(x,y)集合的对称差,即存在于一个数组中但不同时存在于两个数组中的元素(异或)


--将数组以二进制格式保存到磁盘
eg:
arr=np.arange(10)
np.save('some_array',arr)
np.load('some_array.npy')
np.savez('array_archive.npz',a=arr,b=arr)
arch=np.load('array_archive.npz')
arch['b']
--存取文本文件
arr=np.loadtxt('array_ex.txt',delimiter=',')
np.savetxt 
np.genfromtxt


--线性代数?


--随机数生成









0 0
原创粉丝点击