美文网首页
03numpy基础1

03numpy基础1

作者: bad_boy | 来源:发表于2019-01-12 11:10 被阅读13次

NumPy是一个功能强大的Python库,主要用于对多维数组执行计算,其提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。

1导入NumPy

import numpy as np

2生成NumPy数组

np.array() 接收Python 列表作为参数,生成NumPy数(numpy.ndarray)

array = np.array([1.0, 2.0, 3.0])
print(array,type(array))

3广播

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。
如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。


广播
list_a = np.array([[1, 2], [3, 4]])
list_b = np.array([10, 20])
print(list_a * list_b)

4访问元素

X = np.array([[51, 55], [14, 19], [0, 24]])
for row in X:
    print(row)

x= X.flatten()  #将X转换为一维数组
print(x)        #[51 55 14 19  0 24]
print(x[np.array([0, 2, 4])]) ## 获取索引为0、2、4的元素
print(x>15)     #[ True  True False  True False True]
print(x[x>15])  #[51 55 19 24]

5数组/矩阵转置运算

数据要转置一个矩阵,只需使用一个数组对象的T属性。
下面是转置常用的一些方法

moveaxis(a, source, destination) 将数组的轴移动到新位置。
rollaxis(a, axis[, start]) 向后滚动指定的轴,直到它位于给定位置。
swapaxes(a, axis1, axis2) 交换数组的两个轴。

ndarray.T 与self.transpose() 相同,只是如果self.ndim < 2 则返回self。

transpose(a[, axes]) 置换数组的维度。

import numpy as np

x = np.array([[1,2], [3,4]])
print(x)    # Prints "[[1 2]
            #          [3 4]]"
print(x.T)  # Prints "[[1 3]
            #          [2 4]]"

# Note that taking the transpose of a rank 1 array does nothing:
v = np.array([1,2,3])
print(v)    # Prints "[1 2 3]"
print(v.T)  # Prints "[1 2 3]"

Numpy提供了许多用于操作数组的函数;你可以在这篇文档中看到完整的列表。

参考:

NumPy 中文文档
NumPy 菜鸟教程

相关文章

  • 03numpy基础1

    NumPy是一个功能强大的Python库,主要用于对多维数组执行计算,其提供了大量的库函数和操作,可以帮助程序员轻...

  • 1、基础

    创建项目 django-admin project_name cd project_name python ma...

  • 基础1

    什么是php? 什么是b/s &&c/s/和常用属性 程序语言 table 表格标签: 属性:border wi...

  • 基础1

    d键切换默认前景色、背景色 shift+ctrl+I 反选

  • 基础1

    ⒈文字:移动文字使用左最上方箭头 ⒉按住alt 切换放大镜放大缩小 ⒊Ctrl 0在图片放大缩小的情况下最快恢复到...

  • 基础-1

    递归 在递归中可以使用指针进行数字迭代操作,要注意*num++ (误) -----> (*num)++(对)层次...

  • 基础-1

    存储单元 微型机存储器的存储单元可以存储1个byte(字节),1个byte包含8个bit(位) byte=B ...

  • 基础-1

    Nest是一个渐进式的Node框架,可以在TypeScript和JavaScript(ES6、ES7、ES8)之上...

  • 基础-1

    主函数:程序有且只有一个主函数package main //导入主函数的包func main() {} 打印的模...

  • 基础1

    var / val 的区别 用kt文件转化成的java文件做对比 kotlin: decompile之后的jav...

网友评论

      本文标题:03numpy基础1

      本文链接:https://www.haomeiwen.com/subject/ujvqdqtx.html