numpy库是python的一个著名的科学计算库,本文是一个quickstart。html
BMI = 体重(kg)/身高(m)^2
假若有以下几组体重和身高数据,让求每组数据的BMI值:java
执行上面代码,报错:TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
这是由于普通的除法是元素级的而非向量级的,并不能应用到一组数据上。
解决方案:使用numpy.ndarray数据结构(N维数组),运算是面向矩阵的:python
注:和python的列表不一样的是,numpy.ndarray数据结构的元素之间是没有逗号分隔的。数组
numpy数组:numpy.ndarray数据结构
numpy.ndarray是numpy最基本的数据结构,即N维数组,且数组中的元素须要是同一种类型,若是不是,则会自动转换成同一种类型,如:app
能够看到都被转成了字符串类型。dom
不一样数据类型的不一样行为函数
子集测试
二维numpy数组
二维numpy数组是以list做为元素的数组,好比:字体
经过shape属性值能够看出,np_2d是一个2行5列的二维数组。
single type原则
二维numpy数组的子集
还能够在两个轴向上分别切片:
选取第1行:
求对应的BMI值:
用numpy生成呈正太分布的随机测试数据,并求各项基本的统计数据。
好比生成10000条数据集,记录的是某个镇上全部居民的身高(m)、体重(kg)数据,所用到的函数:
np.random.normal(均值,标准差,取样数)
下面将若干个(这里是2个)一维数组拼成一个二维数组(有点像zip()函数的做用):
求np_info身高平均值:
求身高的中位数:
求身高和体重的相关系数:
求身高的标准差:
排序(不会影响源数组):
求和:
基本用法
画散点图
画直方图
图表个性化
解决绘图时中文显示为方块的问题
原文连接:
https://www.cnblogs.com/jiayongji/p/7354213.html
-END-