numpy库入门教程基础知识总结(如何实现每100个数据求平均值)

本文目录
如何实现每100个数据求平均值
C2输入:
=AVERAGE(INDIRECT("B"&(ROW()*10-18)):INDIRECT("B"&(ROW()*10-9)))
下拉填充公式
即可实现每10个数据 求平均值
如果每100个数据只需将公式中起始位置改为ROW()*100-198,终止改为ROW()*100-189即可。
numpy基础——ndarray对象
numpy 是使用python进行数据分析不可或缺的第三方库,非常多的科学计算工具都是基于 numpy 进行开发的。
ndarray对象是用于存放同类型元素的多维数组,是numpy中的基本对象之一,另一个是func对象。本文主要内容是: 1 、简单介绍ndarray对象 ; 2、ndarray对象的常用属性 ; 3、如何创建ndarray对象 ; 4、ndarray元素访问 。
它的维度以及个维度上的元素个数由 shape 决定。
标题中的函数就是numpy的构造函数,我们可以使用这个函数创建一个ndarray对象。构造函数有如下几个可选参数:
实例:
接下来介绍ndarray对象最常用的属性
实例:
使用 array 函数,从常规的python列表或者元组中创建数组,元素的类型由原序列中的元素类型确定。
实例:
subok 为 True ,并且object是ndarray子类时(比如矩阵类型),返回的数组保留子类类型
某些时候,我们在创建数组之前已经确定了数组的维度以及各维度的长度。这时我们就可以使用numpy内建的一些函数来创建ndarray。
例如:函数 ones 创建一个全1的数组、函数 zeros 创建一个全0的数组、函数 empty 创建一个内容随机的数组,在默认情况下,用这些函数创建的数组的类型都是float64,若需要指定数据类型,只需要闲置 dtype 参数即可:
上述三个函数还有三个从已知的数组中,创建 shape 相同的多维数组: ones_like 、 zeros_like 、 empty_like ,用法如下:
除了上述几个用于创建数组的函数,还有如下几个特殊的函数:
特别地, eye 函数的全1的对角线位置有参数k确定
用法如下:
除了上面两个函数还有其他几个类似的从外部获取数据并创建ndarray,比如: frombuffer 、 fromfile 、 fromiter ,还没用过,等用到了在详细记录
ndarray提供了一些创建二维数组的特殊函数。numpy中matrix是对二维数组ndarray进行了封装之后的子类。这里介绍的关于二维数组的创建,返回的依旧是一个ndarray对象,而不是matrix子类。关于matrix的创建和操作,待后续笔记详细描述。为了表述方便,下面依旧使用 矩阵 这一次来表示创建的二维数组。
对于一维的ndarray可以使用python访问内置list的方式进行访问:整数索引、切片、迭代等方式
关于ndarray切片
与内置list切片类似,形式:
array
beg: 开始索引
end: 结束索引(不包含这个元素)
step: 间隔
需要注意的是 :
特别注意的是,ndarray中的切片返回的数组中的元素是原数组元素的索引,对返回数组元素进行修改会影响原数组的值
除了上述与list相似的访问元素的方式,ndarray有一种通过 列表 来指定要从ndarray中获取元素的索引,例如:
多维ndarray中,每一维都叫一个轴axis。在ndarray中轴axis是非常重要的,有很多对于ndarray对象的运算都是基于axis进行,比如sum、mean等都会有一个axis参数(针对对这个轴axis进行某些运算操作),后续将会详细介绍。
对于多维数组,因为每一个轴都有一个索引,所以这些索引由逗号进行分割,例如:
需要注意的是 :
多维数组的迭代
可以使用ndarray的 flat 属性迭代数组中每一个元素
python中稀疏矩阵的怎么用numpy处理
NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。
下面对numpy中的操作进行总结。
numpy包含两种基本的数据类型:数组和矩阵。
数组(Arrays)
》》》 from numpy import *》》》 a1=array()》》》 a1
array()》》》 a3
array(,
)》》》 a1*a2
array()12345678910111213141516171819202122232425262728293031323334
Numpy有许多的创建数组的函数:
import numpy as np
a = np.zeros((2,2)) # Create an array of all zerosprint a # Prints "
#
#
#
# "1234567891011121314151617181920
数组索引(Array indexing)
矩阵
矩阵的操作与Matlab语言有很多的相关性。
#创建矩阵
》》》 m=mat()
》》》 m
matrix()
#取值
》》》 m #取一行
matrix()
》》》 m #注意不能像数组那样取值了
Traceback (most recent call last):
File "《stdin》", line 1, in 《module》
File "/usr/lib64/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line 305, in __getitem__
out = N.ndarray.__getitem__(self, index)
IndexError: index 1 is out of bounds for axis 0 with size 1#将Python的列表转换成NumPy的矩阵
》》》 list=
》》》 mat(list)
matrix()
#矩阵相乘
》》》 m1=mat() #1行3列
》》》 m2=mat()
》》》 m1*m2.T #注意左列与右行相等 m2.T为转置操作
matrix()
》》》 multiply(m1,m2) #执行点乘操作,要使用函数,特别注意
matrix()
#排序
》》》 m=mat() #创建2行3列矩阵
》》》 m
matrix(,
)
》》》 m.sort() #对每一行进行排序
》》》 m
matrix(,
)
》》》 m.shape #获得矩阵的行列数
(2, 3)
》》》 m.shape #获得矩阵的列数3#索引取值
》》》 m #取得第一行的所有元素
matrix()
》》》 m #第一行第0个元素,注意左闭右开
matrix()
》》》 m
matrix()
》》》 m
matrix()1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
扩展矩阵函数tile()
例如,要计算进行扩展。
tile(inX, (i,j)) ;i是扩展个数,j是扩展长度
实例如下:
》》》x=mat()
》》》 x
matrix()
》》》 tile(x,(3,1)) #即将x扩展3个,j=1,表示其列数不变
matrix(,
,
)
》》》 tile(x,(2,2)) #x扩展2次,j=2,横向扩展
matrix(,
)1234567891011121314
Python—Numpy库的用法
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
NumPy 支持比 Python 更多种类的数值类型。 下表显示了 NumPy 中定义的不同标量数据类型。
每个内建类型都有一个唯一定义它的字符代码:
原始数组是:
修改后的数组是: 0 5 10 15 20 25 30 35 40 45 50 55
原始数组是:
原始数组的转置是:
修改后的数组是: 0 5 10 15 20 25 30 35 40 45 50 55
C风格是横着顺序
F风格是竖着的顺序
原始数组是:
修改后的数组是:
第一个数组:
第二个数组:
修改后的数组是: 0:1 5:2 10:3 15:4 20:1 25:2 30:3 35:4 40:1 45:2 50:3 55:4
原始数组:
调用 flat 函数之后: 5
原数组:
展开的数组:默认是A
以 F 风格顺序展开的数组:
原数组:
转置数组:

更多文章:
androidapp源码免费下载(如何实现APK的反编译得到APK的源码)
2026年9月22日 18:00
service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)
2026年9月22日 10:20
html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)
2026年9月22日 10:10
结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)
2026年9月22日 09:40
cocos creator中文(cocoscreator和cocoscreator3d的区别)
2026年9月22日 02:30




