草庐IT

NumPy 库

灵活胖子的进步之路 2023-03-28 原文

title: An R Markdown document converted from "03.ipynb"
output: html_document


一、NumPy 库

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供了大量的数学函数库。

import numpy as np

二、NumPy 库数据结构——ndarray

1. 初识ndarry

a = (1, 2, 3, 4, 5)
a
type(a)
b = [1, 2, 3, 4, 5]
b
type(b)
x=np.array(b)
x
c = np.array([1, 2, 3, 4, 5])
c
c.shape
b_ = np.array(b)
b_
d = [[1, 2 ,3], [4, 5, 6]]
d
e = np.array(d)
e
e.dtype()
f = np.array([[1, 2, 3], [4, 5]])
f
g = np.array([1,None, 3, 'bo', (1,2)])
type(g[0])
g.dtype

备注:

  1. 元组,一种固定长度的,不可变的python对象序列

  2. 列表,长度可变的,内容可修改的序列

  3. ndarray,高效多维同类数据容器,支持矩阵

NumPy 数据类型:

  int8/int16/int32——整数类型

  float16/float32/float64/float128——浮点数类型

  object——object类型

  bool——布尔值类型

  string_——字符串类型

  unicode_——unicode类型

  complex64/complex128/complex256——复数类型

2. ndarray 的属性和方法

e.shape
e
e_ = e.reshape(3, 2)
e_
e_
e_ = e.reshape(1, 6)
e.dtype
e.ndim
e.reshape(2,1,3)
e_int8 = e.astype("int8")
e_int8
e_float32 = e.astype("float32")
e_float32
e
e.dtype

三、ndarray 运算

1. ndarray 矩阵运算

a = [1, 2, 3]
b = [4, 5, 6]
a + b
a_ = np.array(a)
b_ = np.array(b)
a_
b_
a_ + b_
a_ - 1
a_ * 3
c = np.array([[1, 2, 3], [4, 5, 6]])
c
c.T
c.T

2. ndarray 通用函数计算

2.1 一元通用函数:接收一个ndarray对象,并进行逐元素操作

a_
np.square(a)
np.sqrt(a_)
np.sqrt(a_).dtype

2.2 二元通用函数:接收两个ndarray对象,并进行计算操作

a_
b_
np.add(a_,b_)
np.multiply(a_,b_)
a
b
np.sqrt(a)
np.add(a, b)

3. ndarray 基础统计方法

e
e.sum(axis = 0)
e.sum(axis = 1)
e.max(axis = 0)
e.min(axis = 1)
e.argmax(axis = 0)
e.argmin(axis = 1)

小结

一、NumPy库

二、Numpy库核心——ndarray

1.初识ndarray

2.ndarray的属性和方法

三、ndarray 运算

1.ndarray 矩阵运算

2.ndarray 通用函数计算

3.ndarray 基础统计方法

四、 ndarray 切片与索引

1. 基础索引与切片

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])
a[4]
a[2:4]
a_  = a.reshape(4,4)
a_
a_[2]
a_[:2]
a_[2:]
a_[:,2]
a_[:,:2]
a_[:2,:2]
a_[:2,:2] = 5
a_
a_[::2,::2]
a_[::1,::1]

2. 布尔值索引

person = np.array(["A","B","C","D","E","F","G"])
group = np.array([1, 2, 1, 1, 1, 2, 2])
group == 1
person[group == 1]

五、ndarray 删除操作

a = [1, 2, 3, 4, 5]
a.pop(3)
a
a.append(6)
a
a.insert(0,0)
a
group
group.pop
group.append
group.insert
a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
a
np.delete(a, 1, axis = 0)

六、ndarray 合并操作

b = a
a + b
np.concatenate((a, b),axis = 0)
np.concatenate((a, b),axis = 1)
b_ = b.T
b_
np.concatenate((a, b_),axis = 1)

七、Numpy 其他常用函数或方法

1. 一维数组生成函数

a = np.arange(10)
a
b = np.arange(3, 9)
b
b = np.arange(3, 9, 2)
b
c = range(10)
c
list(c)
h = np.linspace(0, 10, 5)
h
i = np.logspace(-2, 2, 50)
i

2. 多维数组生成函数

a = np.zeros((3, 5))
a
b = np.ones((2, 4))
b

3. 随机数生成

a = np.random.randint(0, 20, size = (3, 5))
a
b = np.random.normal(size=(3,5))
b
np.random.seed(121)
b = np.random.normal(size=(3,5))
b
np.random.seed(121)
b = np.random.normal(size=(3,5))
b
np.random.permutation([1,2,3,4,5,6])

小结

一、NumPy库

二、Numpy库核心——ndarray

1.初识ndarray

2.ndarray的属性和方法

三、ndarray 运算

1.ndarray 矩阵运算

2.ndarray 通用函数计算

3.ndarray 基础统计方法

四、ndarray 切片与索引

1.基础切片与索引

2.布尔值索引

五、ndarray 删除操作

六、ndarray 合并操作

七、NumPy 其他常用函数或方法

1.一维数组生成函数

2.多维数组生成函数

3.随机数生成

有关NumPy 库的更多相关文章

  1. Ruby 相当于 NumPy - 2

    我希望能够获得平均值、中位数、百分位数等。我一直在寻找,但找不到类似的东西。我意识到Ruby在科学界并没有被广泛使用,但至少在Ruby中必须存在一个非常基本的数学库,对吧? 最佳答案 rubynarray怎么样?http://narray.rubyforge.org/如果您查看方法,有一个统计部分涵盖了您的用例:http://narray.rubyforge.org/SPEC.en您可能还想查看GSL的ruby​​绑定(bind):http://ruby-gsl.sourceforge.net/

  2. python系列26:numpy稀疏矩阵笔记 - 2

    1.coo存储方式采用三元组(row,col,data)(或称为ijvformat)的形式来存储矩阵中非零元素的信息。coo_matrix的优点:有利于稀疏格式之间的快速转换(tobsr()、tocsr()、to_csc()、to_dia()、to_dok()、to_lil();允许重复项(格式转换的时候自动相加);能与CSR/CSC格式的快速转换coo_matrix的缺点:不能直接进行算术运算,包括赋值初始化方式:coo_matrix(D),D代表密集矩阵赋值:>>>importnumpyasnp>>>fromscipy.sparseimportcoo_matrix>>>_row=np.ar

  3. 解决numpy.core._exceptions.MemoryError: Unable to allocate 1.04 MiB for an array - 2

    报错numpy.core._exceptions.MemoryError:Unabletoallocate1.04MiBforanarraywithshape(370,370)anddatatypefloat64原因最主要的还是电脑内存不足,因为需要处理的数据量太大,GPU性能不够,存在内存溢出现象但实际上它保存的不是模型文件,而是参数文件文件。在模型文件中,存储完整的模型,而在状态文件中,仅存储参数。因此,collections.OrderedDict只是模型的值。解决方案1.修改float精度在代码中我使用的是flaot64类型。但是实际上未必需要这么大的精度,这时候可以使用numpy中的

  4. Python 3.5(32 位): ImportError: cannot import name NUMPY_MKL - 2

    我是Python的新手,我正在尝试安装numpy+mkl和scipy(以相同的顺序),但是当我执行以下步骤时出现以下错误:importpandasaspdimportnumpyasnpfromsklearn.preprocessingimportLabelEncoder我在Windows764位操作系统上使用Python3.5(32位)。此处已针对确切问题回答了类似问题:ImportError:cannotimportnameNUMPY_MKL通过答案,我从提到的链接(http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy)重新安装了我的num

  5. python - 我可以在 Windows 32 上免费将 numpy 和 scipy 编译为 egg 吗? - 2

    我被要求提供Numpy和Scipy作为pythonegg文件。不幸的是,Numpy和Scipy没有以.egg形式为Win32平台正式发布他们的产品——这意味着如果我想要egg,那么我必须自己编译它们。目前我的雇主提供VisualStudio.Net2003,它不会编译任何晚于1.1.1的Numpy版本——随后发布的每个版本都不能用VS2003编译。我真正想要的是一些我可以使用的其他编译器,也许是免费的,但作为免费的限时试用而被推送……我可以用它来编译鸡蛋。有没有人知道我可以免费获得和使用另一个编译器,并且肯定会在Windows上编译Numpy?请仅在您知道它会编译Numpy的事实时才提

  6. python - 通过解压缩到站点包中安装 Numpy - 2

    我正在尝试在Win7的32位Python2.7中安装numpy。相信numpy应该在目录C:\Python2.7\Lib\site-packages中?我解压了numpy文件——它在“site-packages”中显示为文件夹numpy-1.10.4',但我仍然无法导入numpy。我还应该做些什么来完成安装吗? 最佳答案 在Windows上安装numpy可能非常困难。简单地解压缩二进制文件是行不通的。我强烈建议您通过anaconda执行此操作https://www.continuum.io/downloads这将为您设置一切。

  7. python - 在尝试安装 numpy 时出错 - python 3 - 2

    我刚在电脑上安装了PyCharm,想在WIN7上下载numpy。我将pipinstallnumpy放入PaCharm的终端,但出现了这个错误:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.CollectingnumpyRetrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'SSLError("Can'tconnectto

  8. python - 使用 Python 3.5 安装 numpy Windows 8 64 - 2

    我无法在上述配置上安装numpy。如果我使用pipinstallnumpy我会收到此错误error:MicrsoftVisualC++14.0isrequired(Unabletofindvcvarsall.bat)我尝试从这里http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载文件numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl并安装它,但我收到一条错误消息“该平台不支持该轮子”。我尝试使用easy_install-U并得到“这是要运行的错误setup.py文件”。最后我在这里找到了一个numpy-1.9.

  9. python - 将 numpy 包导入 ABAQUS 6.10 Python 环境 - 2

    我没有成功将numpy包导入到ABAQUSPython环境,这是之前关于这个类似问题的讨论。我正在使用MicrosoftWindows7(64位)。我已经安装了ABAQUS6.10。通过在MS-DOS提示符下键入命令abaquspython,我发现ABAQUS6.10使用Python2.6.2版本。出于一个重要原因,我的python脚本文件需要使用numpy包中提供的array函数。我根据之前的讨论采取了以下步骤:Python2.6.2安装:将Python2.6.2版本(32位)安装到C:\Python26\(我已经在文件夹C:\Python27\中安装了Python2.7.6)将PA

  10. windows - OpenCV - python 3.x 和 windows - 什么版本的 Numpy? - 2

    我从http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv下载了openCV并安装了它。当我尝试运行它时:importcv2我收到错误信息:RuntimeError:modulecompiledagainstAPIversionabutthisversionofnumpyis9Traceback(mostrecentcalllast):File"",line1,inFile"C:\ProgramFiles(x86)\JetBrains\PyCharmCommunityEdition5.0.3\helpers\pydev\pydev_impor

随机推荐