python--numpy库

简介: 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)


7365a9604a724782b120da74cdd7dc14.png


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)

366e81351858482bb8a59e92448ba461.png


3.条件判断

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


21940d001914436aa0d9ae149604a0a6.png


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



1d4cc277ed4b4b2f838b60d23edb924c.png


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)

324dc2e1595347199ccd46d53b4a8477.png


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)


d60a9c1e57e14801a4f9e54e6f4736df.png



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)

e68f907c9b3d49b9ba71601a81db8a9c.png


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)



1d876ceaa5a54235baf44146e935eef8.png


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)


c6769da1ec6b4ced997df12065a8a850.png


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)


718a816742024bb982b266ada73d0adb.png


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)


4ef50a81c6a84fd2a804b48c91d39cc8.png


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)


a425284a0a004bb69752cb84867dec94.png


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)



c1f70d62cc2541c2a6e7ad7e11cdf7b0.png


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)



fd1e106dece24e1eb6920d84059a1247.png


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

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


59fd1398ca4c475c862dddeec7ec2d6b.png


目录
相关文章
|
6天前
|
Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
|
5天前
|
SQL 关系型数据库 MySQL
MySQL操作利器——mysql-connector-python库详解
MySQL操作利器——mysql-connector-python库详解
26 0
|
5天前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
17 0
|
8天前
|
Python
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
该文章展示了使用Python的turtle库进行绘图的进阶案例,包括绘制彩色圆形和复杂图案的代码示例。
44 6
turtle库的几个案例进阶,代码可直接运行(python经典编程案例)
|
6天前
|
Linux 开发者 iOS开发
Python中使用Colorama库输出彩色文本
Python中使用Colorama库输出彩色文本
|
3天前
|
数据挖掘 Python
【Python】应用:pyproj地理计算库应用
这篇博客介绍了 `pyproj` 地理计算库的应用,涵盖地理坐标系统转换与地图投影。通过示例代码展示了如何进行经纬度与UTM坐标的互转,并利用 `pyproj.Geod` 计算两点间的距离及方位角,助力地理数据分析。 安装 `pyproj`:`pip install pyproj`。更多内容欢迎关注本博客,一起学习进步! Pancake 🍰 不迷路。😉*★,°*:.☆( ̄▽ ̄)/$:*.°★* 😏
|
8天前
|
Python
turtle库的几个简单案例,代码可直接运行(python经典编程案例)
该文章提供了多个使用Python的turtle库绘制不同图形的简单示例代码,如画三角形、正方形、多边形等,展示了如何通过turtle进行基本的绘图操作。
16 5
|
6天前
|
Linux Android开发 iOS开发
开源的Python库,用于开发多点触控应用程序
Kivy是一款开源Python库,专为开发多点触控应用设计,支持Android、iOS、Linux、OS X和Windows等平台。本文将指导你使用Kivy创建“Hello World”应用并打包成Android APK。首先通过`pip install kivy`安装Kivy,然后创建并运行一个简单的Python脚本。接着,安装Buildozer并通过`buildozer init`生成配置文件,修改相关设置后,运行`buildozer -v android debug`命令打包应用。完成构建后,你将在`./bin/`目录下找到类似`your-app-debug.apk`的文件。
12 2
|
6天前
|
API Python
使用Python requests库下载文件并设置超时重试机制
使用Python的 `requests`库下载文件时,设置超时参数和实现超时重试机制是确保下载稳定性的有效方法。通过这种方式,可以在面对网络波动或服务器响应延迟的情况下,提高下载任务的成功率。
21 1
|
7天前
|
Python
Python之shutil库详解
Python之shutil库详解
12 3
下一篇
无影云桌面