Backend - 数据分析 Numpy

目录

一、作用

二、基础环境

(一)执行虚拟环境的终端命令

(二)代码中导包

三、数组操作

(一)创建数组

[1. 创建一维数组](#1. 创建一维数组)

(1)基本建立

(2)建立后,值类型统一

[2. 建立二维数组](#2. 建立二维数组)

(二)数组取值

[1. 取一维数组的值](#1. 取一维数组的值)

(1)取单个值

(2)取范围值

[2. 取得二维数组的值](#2. 取得二维数组的值)

(1)取某个值

(2)取某列

(3)取某行

(三)查看数据类型

(四)向量化运算

(五)聚合计算

[1. 常用](#1. 常用)

[2. 指定轴向](#2. 指定轴向)


一、作用

数值计算库。

二、基础环境

(一)执行虚拟环境的终端命令

bash 复制代码
pip install numpy

(二)代码中导包

python 复制代码
import numpy as np

三、数组操作

(一)创建数组

1. 创建一维数组

(1)基本建立
python 复制代码
a = [1,2,3,4]
b = np.array(a)  # [1 2 3 4]
(2)建立后,值类型统一
python 复制代码
a = [1,'aa',3,4]
b = np.array(a)  # ['1' 'aa' '3' '4']

2. 建立二维数组

python 复制代码
a = [['aa',2], [3,4]]
b = np.array(a) 

b 结果是:

bash 复制代码
[['aa' '2']
 ['3' '4']]

(二)数组取值

1. 取一维数组的值

(1)取单个值
python 复制代码
a = np.array([1,2,3,4,5,6,7])
b =a[0] # 1
(2)取范围值
python 复制代码
a = np.array([1,2,3,4,5,6,7])
b2 = a[2:5]  # [3 4 5]

2. 取得二维数组的值

(1)取某个值
python 复制代码
a = [[1,2], [3,4]]
b = np.array(a) 
c = b[0,1] 
print(c)  # 2
(2)取某列
python 复制代码
a = [[1,2], [3,4]]
b = np.array(a) 
d = b[:, 0] 
print(d)  # [1,3]
(3)取某行
python 复制代码
a = [[1,2], [3,4]]
b = np.array(a) 
e = b[1, :]
print(e)  # [3,4]

(三)查看数据类型

python 复制代码
a = [1,2,3,4]
b = np.array(a)   # [1 2 3 4]
c = b.dtype  # int32

(四)向量化运算

python 复制代码
a = [1,2,3,4]
b = np.array(a)   # [1 2 3 4]
c = b*3   # [3 6 9 12]
d = b+b   # [2 4 6 8]

(五)聚合计算

1. 常用

python 复制代码
import numpy as np
np.sum() 计算总和
np.any() 是否存在元素为真
np.all() 所有元素是否为真
np.prod() 所有元素乘积
np.mean() 平均值
np.median() 中位数
np.std() 标准差
np.var() 方差
np.power() 幂运算
np.sqrt() 开方
np.argmin() 最小值的索引
np.argmax() 最大值的索引
np.inf 无穷大
np.exp(10) 以e为底的指数
np.log(10) 对数

举例:

python 复制代码
a = np.array([0,1,2,3,4])
print(np.sum(a)) # 10
print(np.any(a)) # True
print(np.all(a)) # False
print(np.prod(a)) # 0
print(np.mean(a)) # 2.0
print(np.median(a)) # 2.0
print(np.std(a)) # 1.4142135623730951
print(np.var(a)) # 2.0
print(np.power(a, 2)) # [ 0  1  4  9 16]
print(np.sqrt(a)) # [0.  1.  1.41421356  1.73205081  2. ]
print(np.argmin(a)) # 0
print(np.argmax(a)) # 4
print(np.inf) # inf
print(np.exp(10)) # 22026.465794806718
print(np.log(10)) # 2.302585092994046

2. 指定轴向

python 复制代码
import numpy as np
a = [[1,2], [3,4]]
b = np.array(a) 
c = b.sum(axis=0).max() #求每列总和中的最大值 6
d = b.sum(axis=1).max() #求每行总和中的最大值 7
e = b.sum()  #求整个数组的总和 10
相关推荐
小oo呆2 小时前
【学习心得】Python多线程
python
happylifetree6 小时前
Python70:核心语法-函数进阶-案例2
python
王中阳Go6 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳6 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
Sakura_j_h_7 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
supabc1238 小时前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
ZhengEnCi9 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
python·llm·agent
ZhengEnCi9 小时前
AI Agent工具误调用怎么解决-从参数校验到高危二次确认的四层工程防线
python·llm·agent
镜子AI10 小时前
镜子AI工程教程:用Python实现关键词布局检查器与语义改写查重(附完整代码)
人工智能·python·microsoft
小oo呆11 小时前
【学习心得】Python协程
python