概述
文章
- 基础篇
- 进阶篇
- 其他篇
用户指南
NumPy 参考手册
- 数组对象
- 常量
- 通函数(ufunc)
- 常用 API
- 创建数组
- 数组处理程序
- 二进制运算
- 字符串操作
- C-Types 外部函数接口(numpy.ctypeslib)
- 时间日期相关
- 数据类型相关
- 可选的 Scipy 加速支持(numpy.dual)
- 具有自动域的数学函数( numpy.emath)
- 浮点错误处理
- 离散傅立叶变换(numpy.fft)
- 财金相关
- 实用的功能
- 特殊的 NumPy 帮助功能
- 索引相关
- 输入和输出
- 线性代数(numpy.linalg)
- 逻辑函数
- 操作掩码数组
- 数学函数(Mathematical functions)
- 矩阵库 (numpy.matlib)
- 杂项(Miscellaneous routines)
- 填充数组(Padding Arrays)
- 多项式(Polynomials)
- 随机抽样 (numpy.random)
- 操作集合(Set routines)
- 排序,搜索和计数(Sorting, searching, and counting)
- Statistics
- Test Support (numpy.testing)
- Window functions
- 打包(numpy.distutils)
- NumPy Distutils 用户指南
- NumPy C-API
- NumPy 的内部
- NumPy 和 SWIG
其他文档
C-Types 外部函数接口(numpy.ctypeslib)
从ctypes数组或指针创建numpy数组。
numpy数组与ctypes对象共享内存。
如果从ctypes指针转换,则必须给定Shape参数。 如果从ctypes数组转换,则忽略shape参数
numpy.ctypeslib.
as_ctypes(obj)[点击查看源码]open in new window¶从numpy数组创建并返回ctypes对象。 实际上,任何公开 __array_interface__的内容都是可以接受的。
numpy.ctypeslib.
as_ctypes_type(dtype)[点击查看源码]open in new window将数据类型转换为ctype类型。
参数:
类型 描述 dtype : dtype 转换的dtype 返回:
类型 描述 ctype ctype标量,并集,数组或结构 异常:
类型 描述 NotImplementedError 如果无法进行转换 注意
此功能不会在两个方向上无损地往返。
np.dtype(as_ctypes_type(dt))
将会:- 插入填充字段
- 按偏移量对要排序的字段进行重新排序
- 放弃字段标题
as_ctypes_type(np.dtype(ctype))
将会:
numpy.ctypeslib.
ctypes_load_library(*args, **kwds)[点击查看源码]open in new windowctypes_load_library
已弃用,请改用load_library
!可以使用 >>> lib = ctypes.cdll[<full_path_name>] # doctest: +SKIP 加载库
但是有跨平台的考虑,例如库文件扩展名, 此外,Windows将只加载它找到的具有该名称的第一个库。
为方便起见,NumPy提供了load_library函数。
参数:
类型 描述 libname : str 库的名称,可以使用‘lib’作为前缀,但不带扩展名。 loader_path : str 可以找到库的路径。 返回:
类型 描述 ctypes.cdll[libpath] : library object 一个 ctypes 库对象 异常:
类型 描述 OSError 如果没有具有预期扩展名的库,或者库有缺陷且无法加载。 numpy.ctypeslib.
load_library(libname, loader_path)[点击查看源码]open in new window可以使用 >>> lib = ctypes.cdll[<full_path_name>] # doctest: +SKIP 加载库
但是有跨平台的考虑,例如库文件扩展名, 此外,Windows将只加载它找到的具有该名称的第一个库。
为方便起见,NumPy提供了load_library函数。
参数:
类型 描述 libname : str 库的名称,可以使用‘lib’作为前缀,但不带扩展名。 loader_path : str 可以找到库的路径。 返回:
类型 描述 ctypes.cdll[libpath] : library object 一个 ctypes 库对象 异常:
类型 描述 OSError 如果没有具有预期扩展名的库,或者库有缺陷且无法加载。 numpy.ctypeslib.
ndpointer(dtype=None, ndim=None, shape=None, flags=None)[点击查看源码]open in new window数组检查restype/argtypes。
在restypes和argtypes规范中,ndpoint实例用于描述ndarray。 这种方法比使用
POINTER(c_double)
更灵活,因为可以指定几个限制, 这些限制在调用ctypes函数时进行验证。这些包括数据类型、维度数量、形状和标志。 如果给定的数组不满足指定的限制,则引发TypeError
。参数:
类型 描述 dtype : data-type, optional 数组数据类型。 ndim : int, optional 数组维数。 shape : tuple of ints, optional 数组形状。 flags : str or tuple of str A数组标志;可能是以下一项或多项: flags 的可能项:
- C_CONTIGUOUS / C / CONTIGUOUS
- F_CONTIGUOUS / F / FORTRAN
- OWNDATA / O
- WRITEABLE / W
- ALIGNED / A
- WRITEBACKIFCOPY / X
- UPDATEIFCOPY / U
返回:
类型 描述 klass : ndpointer type object 类型对象,它是一个_ndtpr实例,包含dtype,ndim,shape和flags信息。 异常:
类型 描述 TypeError 如果给定数组不满足指定限制。 示例:
>>> clib.somefunc.argtypes = [np.ctypeslib.ndpointer(dtype=np.float64, ... ndim=1, ... flags='C_CONTIGUOUS')] ... #doctest: +SKIP >>> clib.somefunc(np.array([1, 2, 3], dtype=np.float64)) ... #doctest: +SKIP
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论