NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!
import numpy as np
#创建简单的列表
a=[1,2,3,4]
#将列表转化为数组
b= np.array(b)
Numpy查看数组属性
数组元素的个数: b.size
数组形状: b.shape
数组维度 :b.ndim
数组的元素类型 :b.dtype
快速创建N维数组的api函数:array_one = np.ones([10, 10])
创建10行10列的数值为浮点0的矩阵:array_zero = np.zeros([10, 10])
从现有的数据创建数组:array(深拷贝);asarray(浅拷贝)
Numpy创建随机数组:np.random
均匀分布
np.random.rand(10, 10)创建指定形状(示例为10行10列)的数组(范围在0至1之间)
np.random.uniform(0, 100)创建指定范围内的一个数
np.random.randint(0, 100) 创建指定范围内的一个整数
正态分布
给定均值/标准差/维度的正态分布np.random.normal(1.75, 0.1, (2, 3))
import numpy as np
arr=np.random.normal(1.75,0.1,(4,5))
print(arr)
after_arr=arr[1:3,2:4]
print(after_arr)
import numpy as np
print("reshape函数的使用:")
one_20 = np.ones(20)
print("-->1行20列<--")
print(one_20)
one4_5=one_20.reshape([4,5])
print("-->4行5列<--")
print(one4_5)
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print (stus_score>80)
如果数值小于80,替换为0;数值大于80,替换为90.
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print (np.where(stus_score<80,0,90))
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print ("每一列最大值为:")
result=np.amax(stus_score,axis=0)
print(result)
print("每一行最大值为:")
result=np.amax(stus_score,axis=1)
print(result)
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print ("每一列最小值为:")
result=np.amin(stus_score,axis=0)
print(result)
print("每一行最小值为:")
result=np.amin(stus_score,axis=1)
print(result)
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print ("每一列平均值为:")
result=np.mean(stus_score,axis=0)
print(result)
print("每一行平均值为:")
result=np.mean(stus_score,axis=1)
print(result)
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print ("每一列方差为:")
result=np.std(stus_score,axis=0)
print(result)
print("每一行方差值为:")
result=np.std(stus_score,axis=1)
print(result)
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print("加分前:")
print(stus_score)
stus_score[:,0]=stus_score[:,0]+5
print("加分后:")
print(stus_score)
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print("减半前:")
print(stus_score)
stus_score[:,0]=stus_score[:,0]*0.5
print("减半后:")
print(stus_score)
import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array([10,20, 30, 40])
c = a + b
d = a - b
e = a * b
f = a / b
print("a+b为", c)
print("a-b为", d)
print("a*b为", e)
print("a/b为", f)
import numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
q=np.array([[0.4],[0.6]])
result = np.dot(stus_score,q)
print("最终结果为:")
print(result)
import numpy as np
print("v1为:")
v1=[[0,1,2,3,4,5],[6,7,8,9,10,11]]
print(v1)
print("v2为:")
v2=[[12,13,14,15,16,17],[18,19,20,21,22,23]]
print(v2)
result=np.vstack((v1,v2))
print("v1和v2的垂直拼接结果为")
print(result)
import numpy as np
print("v1为:")
v1=[[0,1,2,3,4,5],[6,7,8,9,10,11]]
print(v1)
print("v2为:")
v2=[[12,13,14,15,16,17],[18,19,20,21,22,23]]
print(v2)
result=np.hstack((v1,v2))
print("v1和v2的水平拼接结果为")
print(result)
import numpy as np
result=np.genfromtxt("D:\\1\\students_score.csv",delimiter=",")
print(result)