python--numpy库

一、前言

NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!

二、Numpy简单创建数组

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))

三、实例

1.对二维数组索引

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)

 2.改变数组形状

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)

python--numpy库_第1张图片

3.条件判断

import  numpy as np
stus_score=np.array([[80,88],[82,81],[84,75],[86,83],[75,81]])
print (stus_score>80)

python--numpy库_第2张图片

4.三目运算

如果数值小于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))

 python--numpy库_第3张图片

5.求解最大值

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)

 python--numpy库_第4张图片

 6.求解最小值

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)

python--numpy库_第5张图片

7.指定轴平均值

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)

python--numpy库_第6张图片

 8.求方差(std)

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)

python--numpy库_第7张图片

9.数组与数的运算:加法

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)

 python--numpy库_第8张图片

10.数组与数的运算:×法

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)

 python--numpy库_第9张图片

 11.数组间运算

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)

 12.矩阵运算:总成绩

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)

python--numpy库_第10张图片

13.矩阵垂直拼接

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)

 python--numpy库_第11张图片

14.矩阵水平拼接

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)

 python--numpy库_第12张图片

15.读取文件,设置分隔符“,”

import numpy as np
result=np.genfromtxt("D:\\1\\students_score.csv",delimiter=",")
print(result)

 python--numpy库_第13张图片

你可能感兴趣的:(python库学习,python,numpy,人工智能)