numpy必知必会-第三天

编程之家收集整理的这篇文章主要介绍了numpy必知必会-第三天编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

11 找到两个array中的通用项,并保存在新的array中

例如:
输入a = np.array([1,2,3,4,5,6]),b = np.array([7,10,7,9,8])
输出array([2,4])

a = np.array([1,6])
b = np.array([7,8])
np.intersect1d(a,b)

输出:

array([2,4])

12 从一个array中移除被另一个array包含的元素

例如:
输入a = np.array([1,5]),b = np.array([5,6,8,9])
输出array([1,5]) b = np.array([5,9]) np.setdiff1d(a,b)

输出

array([1,4])

13 找到两个array中元素一样的位置

例如:
输入a = np.array([1,8])
输出(array([1,7]),)
a = np.array([1,1)">])
np.where(a == b)

输出:

(array([1,)

注意比较的两个array的长度必须一致!

14 如何从一个array中筛选出一个范围内的元素

例如:
输入a = np.array([2,1,27])
输出(array([6,10]),)

a = np.array([2,27])
index = np.where((a >= 5) & (a <= 10))
a[index]

输出

array([ 6,10])

还可以用以下方式实现:

index = np.where(np.logical_and(a>=5,a<=10))
a[index]
a[(a >= 5) & (a <= 10)]

15 通过自定义的python函数,处理两个array中元素

例如:
输入
def maxx(x,y):
"""Get the maximum of two items"""
if x >= y:
return x
else:
return y

maxx(1,5)

输出
a = np.array([5,5])
b = np.array([6,1])
pair_max(a,b)

先介绍一下numpy.vectorize

numpy.vectorize(pyfunc,otypes=None,doc=None,excluded=None,cache=False,signature=None)
Parameters:
pyfunc :python函数或方法 otypes : 输出数据类型。必须将其指定为一个typecode字符串或一个数据类型说明符列表。每个输出应该有一个数据类型说明符。 doc : 函数的docstring。如果为None,则docstring将是 pyfunc.doc。
简单说就是把pyfunc的处理结果放到一个array中,组成向量。

def maxx(x,y):
    """获得两个array中的最大值"""
    if x >= y:
        return x
    else:
         y

pair_max = np.vectorize(maxx,otypes=[float])

a = np.array([5,1)">])
b = np.array([6,1])

pair_max(a,b)

输入

array([6.,7.,9.,8.,5.])

 

原文地址:https://www.cnblogs.com/tracydzf

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


内存块风格 ndarray到底跟原生python列表有什么不同呢,请看一张图: 从图中我们可以看出ndarray在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度更快。
6 替换array中的元素,并赋值给新的array 例如: 输入arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 输出out为array([ 0, -1,
1 如何查看np版本 import numpy as np print(np.__version__) 2 如何创建一维数据array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
11 找到两个array中的通用项,并保存在新的array中 例如:输入a = np.array([1,2,3,2,3,4,3,4,5,6]),b = np.array([7,2,10,2,7,4,9
待续。。。
NumPy - 简介NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numer...
NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目ndarray 中的每个元素在内存中使用相同大小的块。 ndarray 中的每个元素是数据类型对象的对象(称为 dtype)ndarray 原型:numpy.array(object, dtype=None, copy=True, order=None...
bool_存储为一个字节的布尔值(真或假)int_默认整数, 相当于 C 的long, 通常为int32或int64intc相当于 C 的int, 通常为int32或int64intp用于索引的整数, 相当于 C 的size_t, 通常为int32或int64int8字节(-128 ~ 127)int16 16 位整数(-32768 ~ 32767)int3...
调整数组的数组大小和维度ndarray.shape 返回一个包含数组维度的元组,也可以用于调整数组大小和维度In [1]: import numpy as npIn [2]: num = np.array([[1,2,3],[4,5,6]])In [3]: numOut[3]:array([[1, 2, 3], [4, 5, 6]])In [4]: num.sha...
numpy.empty 创建指定形状和dtype的未初始化数组numpy.empty(shape, dtype = float, order = 'C')Shape 空数组的形状,整数或整数元组Dtype 所需的输出数组类型,可选Order 'C’为按行的 C 风格数组,'F’为按列的 Fortran 风格数组下面的代码展示空数组的例子,因为它们未初始化,所以数组元素默...