栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

利用Python进行数据分析| 4 NumPy基础:数组和矢量计算

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

利用Python进行数据分析| 4 NumPy基础:数组和矢量计算

ndarray:一种多维数组对象,是一个快速而灵活的大数据集容器,可以利用其对整块数据执行运算。

广播(broadcasting):不同大小的数组之间的运算

基本的索引和切片:当你将⼀个标量值赋值给⼀个切⽚时(如arr[5:8]=12),该值会⾃动传播(也就说后⾯将会讲到的“⼴播”)到整个选区。跟列表最重要的区别在于,数组切⽚是原始数组的视图。这意味着数据 不会被复制 ,视图上的任何修改都会直接反映到源数组上。

二维数组的表示方法:

通过布尔型设置数组

花式索引(Fancy indexing):利用整数数组进行索引

#以特定顺序选取⾏⼦集,只需传⼊⼀个⽤于指定顺序的整数列表或ndarray即可
arr=np.empty((8,4))
for i in range(8):
    arr[i]=i
arr
arr[[4,3,0,6]]
arr[[0,1],[3,2]]
#花式索引跟切⽚不⼀样,它总是将数据复制到新数组中。

数组转置和轴对换

#数组转置
arr=np.arange(15).reshape((3,5))
print(arr)
print(arr.T)

#计算矩阵内积
arr=np.random.randn(6,3)
np.dot(arr.T,arr)

对于⾼维数组,transpose需要得到⼀个由轴编号组成的元组才能对这些轴进⾏转置:

arr = np.arange(16).reshape((2,2,4))
print(arr)

arr.transpose((1,0,2))
arr.swapaxes(0, 2)

通用函数(ufunc):快速的元素级数组函数

利用数组进行数据处理

NumPy数组使你可以将许多种数据处理任务表述为简洁的数组表达式(否则需要编写循环)。⽤数组表达式代替循环的做法,通常被称为⽮量化

将条件逻辑表述为数组运算

np.where()=if condtion x else y

数学和统计方法

np.mean()

np.sum()

axis= 用于计算该轴向上的统计值,axis=1计算行的平均值,axis=0计算每列的统计值

用于布尔型数组的方法

bools.any()

bools.all()

唯一化以及其它的集合逻辑

np.unique()找出数组中的唯一值并返回已排序的结果

用于数组的文件输入输出(.npy文件)

np.save()

np.load()

np.savez()将多个数组保存到一个未压缩文件中

线性代数

np.dot()

@ 矩阵乘法

numpy.linalg中有⼀组标准的矩阵分解运算以及诸如求逆和⾏列式之类的东西

伪随机数生成

参考资料: Mckinney W . 利用PYTHON进行数据分析[M]. 机械工业出版社, 2014.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005544.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号