numpy和pandas教程
numpy和pandas是在数据分析经常用到的两个工具,由于是使用c++写的,同时他是直接是使用了矩阵的运算,基于上述的原因,相比于python,他俩的特点就是快
numpy:
import numpy as np
一、属性
1、列表转矩阵:array= np.array([[1,2,3],[4,5,6]])
2、矩阵的维数:array.ndim
3、矩阵的形状:array.shape
4、元素的数目:array.size
二、矩阵的创建
1、使用数据类型:array= np.array([4,5,6],dtype=np.int32) # 除此之外,还有np.int64 np.float
2、元素全为零的矩阵:np.zeros([1,2,3])
3、元素全为1的矩阵:np.ones([2,4])
4、元素为空,实际上接近为零:np.empty([2,4])
5、生成从零到11的3行4列矩阵:np.arrage(12).reshape((3,4))
6、生成20个点的线:np.linspace(1,10,20) 3行4列:np.linspace(1,10,20).reshape((3,4))
7、生成随机3行4列的0~1的矩阵:np.random.random((3,4))
三、矩阵的运算
a = arange(4) ## a = [0 1 2 3]
1、各个元素的sin值:np.sin(a) ##
2、打印小于某个值的矩阵: print(a < 3) ## [True, True, True, False]
3、两个矩阵对应元素相乘:c = a*b
4、内积/点积/数量积: np.dot(a, b) 或者 a.dot(b)
5、求矩阵每一行的元素的和:np.sum(a, axis = 0); 求每一行的最大值:np.max(a, axis = 0) ; 求每一行的最小值:np.min(a, axis = 0)
6、求平均值:np.mean(a); np.average(a)
7、求中位数:np.median(a)
8、前n个元素累加:np.cumsum(a) ## a = [1 2 3 5] b = np.cumsum(a) #[1 3 6 11]
9、相邻的累查:np.diff(a) ## a = [1 2 3 5] b = np.diff(a) #[1 1 2]
10、逐行排序(行内的元素排序):np.sort(a)
11、矩阵的转置: np.transpose(a) 或者a.T
12、矩阵的截断:np.clip(a, 5, 9) #小于5的,截断为5, 大于9的,截断为9
13、求矩阵的索引:(1)最小值索引 np.argmin(a) ; (2)np.argmax(a)
四、矩阵的索引
1、矩阵的索引:a[1][2]、a[1,2]、a[:,1]、a[1,:]
2、展开矩阵为1行:a.flat 或者 a.flatten()
五、 矩阵的合并
1、上下合并:np.vstack((a,b))
2、左右合并:np.hstack((a,b))
3、增加一个维度:(1)行增加一个维度:a[np.newaxis,:] (2)列增加一个维度:a[:, np.newaxis]
4、矩阵按行合并: np.concatenate((a,b,b,a),axis = 0)
六、矩阵的分隔
1、将np.arange(12).reshape((3,4))一个矩阵按照左右分隔为两部分:np.split(a, 2, axis = 1) #垂直分隔np.split(a, 2, axis = 0)
2、不等分隔:np.array_split(a, 2, axis = 0)
3、垂直分隔成3块:np.vsplit(a, 3) 横向分隔为3块:np.hsplit(a, 3)
七、复制
1、b = a[:] 或者 b = a.copy()
2、指向同一个地址的复制: b = a # a的值改变,b的值也会改变,反过来亦然
八、Numpy矩阵和数组的区别
1、mat()可将数据转化成矩阵: randmat= mat(random.rand(4, 4))
2、矩阵使用.I操作符可以求矩阵的逆: invRanMat = randMat.I
3、单位矩阵:myEye = randmat* invRanMat 可以直接用eye表示n阶单位矩阵:eye(4)
九、根据概率随机生成序列
np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0])
十、logical_and(),logical_or(), logical_not(), logical_xor()
numpy.logical_and(x1, x2)
输入数组。 x1和x2必须具有相同的形状。
y:ndarray或bool
布尔结果,与x1和x2的相应元素上的逻辑AND运算,结果和x1和x2形状相同。 如果x1和x2都是标量,则也返回标量。
A = [True, False]
B = [False, False]
C = logical_and(A, B)
print(C) # [False False]A = arange(5)
print(A) # [0 1 2 3 4]
B = logical_and(A > 1, A < 4)
print(B) # [False False True True False]
十一、数据可将元素转化成bool值
n = np.array(range(5)) print(n>1) [False False True True True]
十二、范数的计算:
from numpy import linalg as la
import numpy as np
a = np.array([1,2,3])
b = np.array([2,3,4])
# a 和 b 之间的欧式距离
la.norm(a-b) # 默认为2范数
十三、SVD奇异值分解
from numpy import linalg as laU, sigma, VT = la.svd(dataMat)
numpy和pandas教程相关推荐
- 【莫烦Python】Pandas教程
目录 前言 1.Pandas vs Numpy 2.基本介绍 3.选择数据 4.设置值 5.处理丢失的数据 6.pandas导入导出 7.pandas合并concat 8.pandas合并merge ...
- python使用教程pandas-python学习教程之Numpy和Pandas的使用
前言 本文主要给大家介绍了关于python中Numpy和Pandas使用的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 它们是什么? NumPy是Python语言的一个扩 ...
- 数据基础---numpy、pandas使用教程
数组对象 Numpy库 Numpy最重要的一个特点是就是其N维数组对象,即ndarray,ndarray是一个通用的同构数据多维容器,其中的所有元素必须是相同类型的.每个数组都有一个shape(一个表 ...
- Numpy和Pandas的区别
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 Numpy和Pandas的区别 Numpy是数值计算的扩展包,能够 ...
- NumPy库入门教程:基础知识总结
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 numpy可以说是Python运用于人工智能和科学计算的一个重要基 ...
- numpy 创建加一行_Python数据分析快速入门--NumPy amp; Pandas
之前为大家分享了python的基本语法,有疑问的小伙伴可以参考下文- 土豆爱数学:零基础如何快速入门pythonzhuanlan.zhihu.com 对python基本语法了解后,就可以尝试用pyt ...
- 【Python基础】101道Numpy、Pandas练习题,提升你的Python水平
无论是数据分析还是机器学习,数据的预处理必不可少.其中最常用.最基础的Python库非numpy和pandas莫属,很多初学者可能看了很多教程,但是很快就把用法忘光了. 光看不练假把式,今天向大家推荐 ...
- [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- Python之Numpy入门实战教程(2):进阶篇之线性代数
Numpy.Pandas.Matplotlib是Python的三个重要科学计算库,今天整理了Numpy的入门实战教程.NumPy是使用Python进行科学计算的基础库. NumPy以强大的N维数组对象 ...
最新文章
- android 创建资源别名,android – 将具有相同名称的布局资源别名化为不同的屏幕限定符...
- qt 分辨率问题 安卓_Windows下基于Qt开发Android应用
- 转:jQ函数after、append、appendTo的区别
- 《Head First Python》第四章--持久存储
- Linux负载均衡Nginx六种策略
- 春风吹用计算机的谱子,方大同《春风吹》简谱
- 怎么打_打工人|你怎么打工人了?
- JS数组的迭代器方法
- java户名的正则表达式_java – 用于验证用户名的正则表达式
- Windows下Jenkins的详细安装及使用
- Atitit 计算机的组成与设计 目录 1. 计算机系统是由硬件系统和软件系统两大部分组成。 	1 1.1. Cpu(alu+cu )	1 1.2. 存储内存 外村	1 1.3. Io设备 鼠标
- 算法导论--最小生成树(Kruskal和Prim算法)
- 深入浅出mysql笔记
- window10下CUDA9安装和vs2015配置
- dubbo源码分析23 -- provider 接收与发送原理
- 720全景制作 - 微信、PC、移动web
- MFC编辑框控件绑定变量出现神奇bug
- aspiration搭配_明3你们最喜欢的组合有哪些?
- 关于制作FlappyBird无限地面的一些问题
- 【跨境必备】五分钟学会设定Facebook Chatbot
热门文章
- 利用requests自动下载ppt模板
- linux 目录最大文件数,Linux目录数和文件数限制(目录上最大文件数)
- C++抽象类详解--纯虚函数,抽象类
- java轻功游戏,各大手游系统轻功花样百出,一番尝试之后,我只留下了这款游戏...
- chrome无法加载更新后的js文件
- docker容器以及Java项目和当前北京时间不一致的问题
- vue3登录时后台返回状态码不是200,怎么还跳转
- 基于主要成分分析的人脸二维码识别系统-含Matlab代码
- node.js linux 网站,Node.js安装与配置
- 物联网基于pole异地组网