Python常用库之一:Numpy

Numpy支持大量的维度数组和矩阵运算,对数组运算提供了大量的数学函数库!

1、Numpy比Python列表更具优势,其中一个优势便是速度。在对大型数组执行操作时,Numpy的速度比Python列表的速度快了好几百。因为2、Numpy数组本身能节省内存,并且Numpy在执行算术、统计和线性代数运算时采用了优化算法。
3、Numpy的另一个强大功能是具有可以表示向量和矩阵的多维数组数据结构。Numpy对矩阵运算进行了优化,使我们能够高效地执行线性代数运算,使其非常适合解决机器学习问题。
4、与Python列表相比,Numpy具有的另一个强大优势是具有大量优化的内置数学函数。这些函数使你能够非常快速地进行各种复杂的数学计算,并且用到很少代码(无需使用复杂的循环),使程序更容易读懂和理解。

Numpy简单创建数组
import numpy as np
a = [1, 2, 3]
b = np.array(a)
c = np.array([[0, 1, 2, 10],
              [12, 13, 100, 101],
              [102, 110, 112, 113]], int)
print(c)
print(b)
创建数值为1的数组

Numpy.ones(参数 1:shape,数组的形状;参数 2:dtype, 数值类型)

array_one = np.ones([10, 10], dtype=np.int)
print(array_one)
创建数值为0的数组

Numpy.zeros(参数 1:shape,数组的形状;参数 2:dtype, 数值类型)

array_zero = np.zeros([10, 9], dtype=np.float)
print(array_zero)
创建指定数值的数组

Numpy.full(参数 1:shape,数组的形状; 参数 2:constant value,数组填充的常数值;参数 3:dtype, 数值类型)

array_full = np.full((2, 3), 5)
print(array_full)
创建单位矩阵

Numpy.eye(参数 1:N,方阵的维度)

array_eye = np.eye(5)
print(array_eye)
创建对角矩阵

Numpy.diag(参数1:v,主对角线数值,参数 2:k,对角线元素):K = 0表示主对角线,k>0的值选择在主对角线之上的对角线中的元素,k<0的值选择在主对角线之下的对角线中的元素

1 array_diag = np.diag([10, 20, 30, 40])
2 print(array_diag)
Numpy查看数组属性

数组元素个数:b.size
数组形状:b.shape
数组维度:b.ndim
数组元素类型:b.dtype
复制代码

数组元素个数:3
print(b.size)
#数组形状:(3,)
print(b.shape)
#数组维度:1
print(b.ndim)
#数组元素类型:int32
print(b.dtype)

矩阵第一维的长度:shape[0] # 行
矩阵第二维的长度:shape[1] # 列

1 array_rand = np.random.rand(10, 10, 4)
2 print(array_rand)
3 print(array_rand.ndim)
4 print(array_rand.shape[0])
5 print(array_rand.shape[1])
6 print(array_rand.shape[2])

Numpy创建随机数组(np.random)

均匀分布

创建指定形状的数组,数值范围在0~1之间

array_rand = np.random.rand(10, 10, 4)
print(array_rand)
print(array_rand.ndim)
创建指定范围内的一个数:Numpy.random.uniform(low, high, size=None)
array_uniform = np.random.uniform(0, 100, size=5)
print(array_uniform)
创建指定范围的一个整数:Numpy.random.randint(low, high, size=None)
 array_int = np.random.randint(0, 100, size=3)
 print(array_int)
print(array_int.size)

Numpy.arange()和Numpy.linspace()函数也可以均匀分布
Numpy.arange(start, stop, step):创建一个秩为1的array,其中包含位于半开区间[start, stop)内并均匀分布的值,step表示两个相邻值之间的差。
Numpy.linspace(start, stop, N):创建N个在闭区间[start, stop]内均匀分布的值。

Numpy创建随机数组
X = np.arange(1, 5, 2, dtype=np.int)
print(X)
y = np.linspace(1, 5, 3)
print(y)

转这个

https://www.cnblogs.com/reaptomorrow-flydream/p/9173161.html

Python计算美国总统的身高并实现数据可视化
代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data=pd.read_csv('president_heights.csv')
heights=np.array(data['height(cm)'])
print(heights)
#print(data)

print("总统身高的平均值是",heights.mean())
print("总统身高的平均值是",np.mean(heights))#这两种方法用来计算平均值都是可以的
print("总统身高的标准差是",heights.std())
print("总统身高的最低值是",heights.min())
print("总统身高的最高值是",heights.max())
print("总统身高的前百分之二十五是",np.percentile(heights,25))
print("总统身高的后百分之二十五是",np.percentile(heights,75))
print("总统身高的中位数是",np.percentile(heights,50))
plt.hist(heights)
plt.title("USA presidents' heights")
plt.xlabel('heights(cm)')
plt.ylabel("People's number")
plt.show()

csv文件在github上:

https://github.com/jakevdp/PythonDataScienceHandbook/blob/master/notebooks/data/president_heights.csv

输出结果是:
[189 170 189 163 183 171 185 168 173 183 173 173 175 178 183 193 178 173
 174 183 183 168 170 178 182 180 183 178 182 188 175 179 183 193 182 183
 177 185 188 188 182 185]
总统身高的平均值是 179.73809523809524
总统身高的平均值是 179.73809523809524
总统身高的标准差是 6.931843442745892
总统身高的最低值是 163
总统身高的最高值是 193
总统身高的前百分之二十五是 174.25
总统身高的后百分之二十五是 183.0
总统身高的中位数是 182.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值