转相关资料:
官方手册
易佰教程
gitbook
ZMonster's Blog
速查表
速查代码
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 7 15:39:11 2018
@author: liyue
"""
import numpy as np
#*****************************************************************#
# 创建数组
## 1维
a = np.array([1, 2, 3])
## 3维指定数据类型
b = np.array([(1.2, 3, 8), (1, 2, 3), (9, 9, 9)], dtype = float)
print(a)
print(b)
#*****************************************************************#
# 初始化特殊数组
## 创建3*4的0数组
print(np.zeros((3, 4)))
## 创建5*5全为1的数组
print(np.ones((5, 5), dtype = float))
## 创建指定递增的数组,10位初始值,25位开区间结束值,5位步长
print(np.arange(10, 25, 5))
## 创建指定间隔的数组-整数
print(np.linspace(1, 0.5, 9))
## 创建指定间隔的数组-小数
print(np.arange(0, 0.98, 0.1))
## 创建3*3数组并填充6
print(np.full((3, 3), 6))
## 创建3*3的单位矩阵
print(np.eye(3))
## 创建随机的3*2数组
print(np.random.random((3,2)))
#*****************************************************************#
# I/O操作
## 保存二进制文件到当前路径
print(np.save('test_array', a))
## 保存多数组二进制文件到当前路径
print(np.savez('test_array', a, b))
## 读取二进制文件
print(np.load('test_array.npz'))
## 保存文本文件
print(np.savetxt("m.txt", b, delimiter = ""))
## 读取指定文件,按照指定方式划分, 转https://www.jianshu.com/p/82110f1dbb94
#print(np.genfromtxt("m.csv", delimiter = ","))
#*****************************************************************#
# 数组的属性
p = np.array([(1.2, 3, 8), (1, 2, 3), (9, 9, 9)], dtype = float)
## 数组的维数
print(p.shape)
## 数组长度
print(len(p))
## 数组维数
print(p.ndim)
## 数组的元素个数
print(p.size)
print(p.dtype)
print(p.dtype.name)
print(p.astype(int))
#*****************************************************************#
# 数组算术运算
a = ([(1, 2), (4, 5)])
b = ([(1, 2), (4, 5)])
## 加
print(np.add(a, b))
## 减
print(np.subtract(a,b))
## 乘
print(np.multiply(a,b))
## 除
print(np.divide(a,b))
## 求余
print(np.fmod(a,b))
## 正余弦
print(np.sin(a))
## 点积
print(np.dot(a,b))
#*****************************************************************#
# 数组聚合运算
a = ([(1, 2, 3), (4, 5, 6), (6, 7, 8)])
print('Aggregate:')
## 累加,轴为None:所有元素之和 http://blog.csdn.net/leekingsen/article/details/76242244
print(np.sum(a))
## 累加,轴为0:列之和,压缩为一列
print(np.sum(a, axis = 0))
## 累加,轴为1:行之和,压缩为一列
print(np.sum(a, axis = 1))
## 最大/最小元素
print(np.min(a))
print(np.max(a))
## 按照元素个数依次累加
print(np.cumsum(a))
## 按照元素个数依次累加,列累加
print(np.cumsum(a, axis = 0))
## 按照元素个数依次累加,行累加
print(np.cumsum(a, axis = 1))
## 沿指定轴计算算数平均值
print(np.mean(a))
## 沿指定轴计算算数中间值
print(np.median(a))
## 计算矩阵标准差
print(np.std(a))
#*****************************************************************#
# 比较
print('Comparsion: ')
a = np.array([(1, 2), (3, 4), (5, 6)])
## 以bool形式显示数组与元素比较的结果
print(a<2)
print(a==3)
#*****************************************************************#
# 元素获取
print('Slice:')
## a = np.array([(1, 2), (3, 4), (5, 6)])
## 获取指定位置元素
print(a[2])
print(a[(1, 1)])
## 切片
print(a[0:1])
print(a[a<1])
#*****************************************************************#
# 矩阵操作
print('Matrix:')
a = np.array([(1, 2, 3), (3, 4, 5), (5, 6, 7)])
A = np.matrix(a)
## 转置
print(np.transpose(a))
print(A.T)
## 逆矩阵
print(A.I)
## 共轭转置
print(A.H)