numpy模块学习笔记
# encoding=utf-8
import numpy as np
from numpy.linalg import * def main():
# 1、最基本的array
lst = [[1, 3, 5], [2, 4, 6]]
print(type(lst)) # <class 'list'>
np_lst = np.array(lst)
print(type(np_lst)) # <class 'numpy.ndarray'>
# 指定数据类型 bool int int8/16/32/64/128 uint8/16/32/64/128 float/16/32/64 complex64/128
np_lst1 = np.array(lst, dtype=np.float)
# 相关属性
print(np_lst1.shape) # 形状
print(np_lst1.ndim) # 维度
print(np_lst1.dtype) # 类型
print(np_lst1.itemsize) # 每个元素的大小(字节)
print(np_lst1.size) # 大小(元素个数) # 2、常用的数组
print(np.zeros([2, 4])) # 零
print(np.ones([3, 5])) # 壹
print("Rand:")
print(np.random.rand())
print(np.random.rand(2, 4))
print(np.random.randint(1, 10, 3))
# 正态分布
print("Randn:")
print(np.random.randn(2, 4))
# 从提供的数字里面挑选
print("Choice:")
print(np.random.choice([10, 20, 30]))
# 生成其他分布
print("Distribute:")
print(np.random.beta(1, 10, 20)) # 3、numpy的相关操作
# 单个数组
lst2 = np.arange(1, 11).reshape([2, 5])
print(lst2)
print("Exp:") # 指数(以e为底)
print(np.exp(lst2))
print("Exp2:") # (以2为底)
print(np.exp2(lst2))
print("Sqrt:") # 开方
print(np.sqrt(lst2))
print("Sin:") # 求正弦
print(np.sin(lst2))
print("Log:") # 求对数
print(np.log(lst2))
print("Sum:") # 求和 可以传入axis=?
print(lst2.sum(axis=0)) # axis越大 层次越深
print("Max:") # 求最大值 axis=? Min一样
print(lst2.max()) # 两个数组
a = np.array([11, 22, 33, 44])
b = np.array([1, 2, 3, 4])
# 加减乘除
print("Add: %s" % (a+b))
print("Sub: %s" % (a-b))
print("Mul: %s" % (a*b))
print("Div: %s" % (a/b))
print("Dot:") # 点乘
print(np.dot(a.reshape([2, 2]), b.reshape([2, 2])))
print("Cancatenate:")
print(np.concatenate((a, b), axis=0))
print(np.vstack((a, b)))
print(np.hstack((a, b)))
print(np.split(a, 2)) # 4、矩阵运算 线性方程 # 先引入线性包from numpy.linalg import *
print(np.eye(3))
juzhen = np.array([[1, 2],
[3, 4]])
print("Inv: %s" % inv(juzhen)) # 矩阵的逆
print("T: %s" % juzhen.transpose()) # 矩阵的转秩
print("Det: %s" % det(juzhen)) # 矩阵的行列式
print("Eig:")
print(eig(juzhen)) # 矩阵的特征值和特征向量
# 解线性方程
print("Solve:")
y = np.array([[5], [7]])
print(solve(juzhen, y)) # 5、其他领域的应用
print("FFT:") # 信号处理
print(np.fft.fft(np.array([1, 1, 1, 1, 1, 1, 1])))
print("Coef:") # 皮尔逊系数
print(np.corrcoef([1, 0, 1], [0, 2, 1]))
print("Poly:") # 一元多次函数
print(np.poly1d([2, 1, 3])) # 2x^2 + x +3 if __name__ == "__main__":
main()
scipy参考链接:
1、https://docs.scipy.org/doc/scipy-0.7.x/reference/
pandas参考链接:
1、http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook
2、https://www.analyticsvidhya.com/blog/2016/01/12-pandas-techniques-python-data-manipulation/
numpy模块学习笔记的更多相关文章
- Python 日期时间处理模块学习笔记
来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...
- Python 3之str类型、string模块学习笔记
Windows 10家庭中文版,Python 3.6.4, Python 3.7官文: Text Sequence Type — str string — Common string operatio ...
- Scikit-Learn模块学习笔记——数据集模块datasets
scikit-learn 的 datasets 模块包含测试数据相关函数,主要包括三类: datasets.load_*():获取小规模数据集.数据包含在 datasets 里 datasets.fe ...
- 【Python】logging模块学习笔记
因为做接口自动化测试遇到的一个代码逻辑上的问题,又不知道具体问题出在哪里,所以在模块化代码之前,先学习下python的日志模块logging. 入门1 入门2 日志级别大小关系为:CRITICAL & ...
- Python装饰器、metaclass、abc模块学习笔记
(博客原创作品,转载请注明出处!) 最近接触到了Python中的decorator,metaclass,abc Module,six.add_metaclass等内容,这里做一个简单的笔记. 主要资源 ...
- Python shutil 模块学习笔记
学于https://automatetheboringstuff.com shutil 名字来源于 shell utilities,有学习或了解过Linux的人应该都对 shell 不陌生,可以借此来 ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy Matplotlib
Matplotlib 是 Python 的绘图库. 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案. 它也可以和图形工具包一起使用,如 PyQt 和 wxPython. W ...
- Python模块学习笔记
1.作用域 私有private:用'_x'或'__xx'表示,如,_a,__ab; 公有public: 如 a,b; 特殊变量,可被直接引用,如:__author__,__name__,命名变量时一般 ...
- Scikit-Learn模块学习笔记——数据预处理模块preprocessing
preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, ...
随机推荐
- m2014-architecture-imgserver->配置lighttpd mod_mem_cache 模块做静态资源服务器
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freehat.blog.51cto.com/1239536/989171 一 l ...
- JS AJAX传递List数组到后台(对象)
今天在写代码的时候,碰到的问题,百度了一下,发现原来AJAX传递List数据是可以的,之前还一直用JSON序列化(new Array()数组设置)进行传值的. var _list = {}; //等价 ...
- MQTT协议笔记之发布流程
MQTT协议笔记之发布流程 前言 这次要讲到客户端/服务器的发布消息行为,与PUBLISH相关的消息类型,会在这里看到. PUBLISH 客户端发布消息经由服务器分发到所有对应的订阅者那里.一个订阅者 ...
- 从CES看2016物联网发展趋势
[导读] 美国时间1月6号,千呼万唤始出来的2016年国际消费电子展(CES2016)在拉斯维加斯正式拉开序幕.三天会展完满落幕,这个被誉为全球消费电子技术风向标的北美最大消费电子展俨然变成了未来智慧 ...
- linux 上安装pstree
linux 无法使用pstree centos7上默认没有安装psmisc包. 1.在 Mac OS上 brew install pstree 2.在 Fedora/Red Hat/CentOS yu ...
- WCF(五) 深入理解绑定
适用于本机WCF-WCF交互性能最佳的绑定: 允许跨主机,但只能用于部署同一台主机上,不能访问命名管道 netNamePipeBinding总结 一 WCF与SOA SOA是一种通过为所有软件提供服务 ...
- Andorid- 反序列化,采用pull解析 xml 文件
MainActivity.java 主入口,通过获得 XML文件 ,然后将解析后的文件标签以及文本内容拼接到 StringBuffer中,最后显示在TextView上 package com.exam ...
- postgresql----根据现有表创建新表
除普通的建表语句"create table table_name(columns);"之外,还可以根据现有表快速的创建新表: 一.使用create table ... (like ...
- Cisco设备开启telnet登录
思科设备怎么开启telnet登录 configuration line vty 0 4SW1(config-line)#transp input telne
- yii2 controller发送json数据给前端
最近要用yii2把之前老项目重构一下,因为前端打算用vuejs,所以Yii2前端那一套就放弃了,直接给前端传json数据 控制器代码: $response = Yii::$app->respon ...