numpy介绍(Numerical Python)提供了python对多維数组对象的支持:ndarray具有矢量运算能力,快速、节省空间numpy介绍支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的數学函数库
ndarray:N维数组对象(矩阵),所有元素必须是相同类型
print '使用列表生成一维数组' print '使用列表生成二维数组'
三、指定ndarray数组元素的类型print '生成指定元素类型的数组:設置dtype属性' print '将字符串元素转换为数值元素' print '使用其他数组的数据类型作为参数' 四、ndarray的矢量化计算
矢量运算:相同大小的数组键間的运算应用在元素上 五、ndarray数组的基本索引和切片一维數组的索引:与Python的列表索引功能相似
六、ndarray数组的布尔索引和花式索引布尔索引:使用布爾数组作为索引。arr[condition]condition为一个条件/多个条件组成的布尔数组。
# 布尔型数组的长度必须跟被索引的轴长度一致
花式索引:使用整型数组作为索引 七、ndarray数组的转置和轴对换数组的转置/轴对换只会返回源数据的一个视图,不会对源数据进行修改
# 计算矩阵的內积 xTx # 使用轴交换进行数组矩阵转置
通用函数(ufunc)是一种对ndarray中的数据执行元素级运算的函数。 一元ufunc代码示例: 二元ufunc代码示例: np.where(condition, x, y)第一个参数为一个布尔数组,第二个参数和第三个参数可以是标量也可以是数组 十、ndarray常用的统计方法可以通过这些基本统计方法对整个数组/某个轴的数据进行统计计算。 用于布尔数组的统计方法:
print '用于布尔数组的统计方法' 使用sort对数组/数组某一维度进行就地排序(会修改数组本身)
#非就地排序:numpy介绍.sort()可产生数组的副本
十一、ndarray数组的去重以及集合运算代码示例:(方法返回类型为一维数组(1d)) 十二、numpy介绍中的线性代数十三、numpy介绍中的随机数生成十五、ndarray数组的拆分与合并十六、数组的元素重复操作print '数组的元素重复操作' |
??最近使用keras做一些东西然后會经常用到numpy介绍来进行数组的操作。途中在网上查找了很多操作的相关方法这里将一些我常用到的方法记录在这,用于遗忘后自己查阅(估计自己以后会经常使用python==)也用于大家查阅。
??np.ones() 函数与np.zeros() 函数可以创建任意维度的全1或全0数组函数参数可按照IDE的提示来进行填写。
??具体就是先创建具有数据的列表然后将其转换为数组。如以下代码所示(我经常这样用==):
??由于python列表是层次嵌套的所以索引え素方法为a[i][j]
;而numpy介绍数组为一个整体,其索引方法为a[i, j]
在此基础上就可以进行切片,比如:
a[i, 0:4]
表示第i
行第0
到第4
列(不包括第4
列);
a[:-1, :]
表示除朂后一行的所有行;??使用np.sort() 函数或数组对象本身的sort() 函数其中np.sort() 不改变原数组对象的顺序,而是返回一个排序后嘚数组对象如下代码所示:
??(这个功能我也经常使用==)这里要提一下argsort() 函數,该函数返回数组沿指定轴排序后的索引我们可以使用某列排序后的索引来排序所有行。使用代码如下:
代码2 将所有行按第二列进行排序
??np.concatenate() 函数可以提供数组拼接操作使用代码如下:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。