Python Numpy 简介

2018-10-09 Tuesday     program , linux

NumPy 是 Python 的一个扩充程序库,支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。内部解除了 Python 的 PIL (全局解释器锁),同时使用 C/C++ 做扩展,运算效率极好,是大量机器学习框架的基础库。

NDArray

这是一个多维数组对象,该对象由 实际数据元数据 组成,其中大部分操作仅仅修改元数据部分,而不改变底层的实际数据。

注意,实际的数据必须要保证是同质的。

import numpy as np

#----- 一维 通过Python队列初始化
np.array([0, 1, 2, 3, 4])
#----- 一维 使用arange()函数
np.arange(5)
np.arange(0, 5)

#----- 多维 通过shape属性查看维度
arr = np.array([[0, 1, 2], [3, 4, 5]])
arr = np.array([np.arange(0, 3), np.arange(3, 6)])
arr.shape

#----- 修改维度
arr.shape = 3, 2
arr = arr.reshape(3, 2)

#----- 数组展开,前者只是展示格式不同,而后者会申请内存
arr.ravel()
arr.flatten()

#----- 转置矩阵
arr = np.arange(6).reshape(2, 3)
arr.transpose()

#----- 其它
arr = np.arange(6).reshape(2, 3)
arr.dtype     # 类型
arr.shape     # 维度(行, 列)
arr.ndim      # 行
arr.size      # 总大小,也就是 行*列
arr.itemsize  # 单个元素的大小
arr.data      # 真正的数据信息,包括地址、元素个数等

常用技巧

随机值

numpy.random.normal(loc=0.0, scale=1.0, size=None)

生成一个符合正态分布的随机序列,详细可以参考 docs.scipy.org 中的介绍。

import numpy
import matplotlib.pyplot as plt

mean = 0
sigma = 1
arr = numpy.random.normal(mean, sigma, size=1000)
abs(mean - np.mean(s)) < 0.01
abs(sigma - np.std(s, ddof = 1)) < 0.01

plt.plot(arr)
plt.show()


如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^


About This Blog

Recent Posts

Categories

Related Links

  • RTEMS
    RTEMS
  • GNU
  • Linux Kernel
  • Arduino

Search


This Site was built by Jin Yang, generated with Jekyll, and hosted on GitHub Pages
©2013-2018 – Jin Yang