numpy必知必会-第三天

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

概述

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

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.])

 

总结

以上是编程之家为你收集整理的numpy必知必会-第三天全部内容,希望文章能够帮你解决numpy必知必会-第三天所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

NumPy文章

内存块风格 ndarray到底跟原生python列表有什么不同呢,请看一张图: 从图中我们可以看出ndarray在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度更快。
6 替换array中的元素,并赋值给新的array 例如: 输入arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 输出out为array([ 0, -1,
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 中定义的最重要的对象是称为 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...
numpy.empty 创建指定形状和dtype的未初始化数组numpy.empty(shape, dtype = float, order = 'C')Shape 空数组的形状,整数或整数元组Dtype 所需的输出数组类型,可选Order 'C’为按行的 C 风格数组,'F’为按列的 Fortran 风格数组下面的代码展示空数组的例子,因为它们未初始化,所以数组元素默...
numpy.asarray 此函数类似于numpy.array,它有较少的参数numpy.asarray(a, dtype = None, order = None)a 任意形式的输入参数,比如列表、列表的元组、元组、元组的元组、元组的列表dtype 通常,输入数据的类型会应用到返回的 ndarrayorder ‘C’ 为按行的 C 风格数组,‘F’ 为按列的 Fortran...
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注