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,4,9,8])
输出array([2, 4])

a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
np.intersect1d(a,b)

输出:

array([2, 4])

12 从一个array中移除被另一个array包含的元素
例如:
输入a = np.array([1,2,3,4,5]),b = np.array([5,6,7,8,9])
输出array([1,2,3,4])

a = np.array([1,2,3,4,5])
b = np.array([5,6,7,8,9])
np.setdiff1d(a,b)

输出

array([1,2,3,4])

13 找到两个array中元素一样的位置
例如:
输入a = np.array([1,2,3,2,3,4,3,4,5,6]),b = np.array([7,2,10,2,7,4,9,4,9,8])
输出(array([1, 3, 5, 7]),)

a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
np.where(a == b)

输出:

(array([1, 3, 5, 7]),)

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

14 如何从一个array中筛选出一个范围内的元素
例如:
输入a = np.array([2, 6, 1, 9, 10, 3, 27])
输出(array([6, 9, 10]),)

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

输出

array([ 6,  9, 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, 7, 9, 8, 6, 4, 5])
b = np.array([6, 3, 4, 8, 9, 7, 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:
        return y

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

a = np.array([5, 7, 9, 8, 6, 4, 5])
b = np.array([6, 3, 4, 8, 9, 7, 1])

pair_max(a, b)

输入

array([6., 7., 9., 8., 9., 7., 5.])
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,504评论 0 13
  • TF API数学计算tf...... :math(1)刚开始先给一个运行实例。tf是基于图(Graph)的计算系统...
    MachineLP阅读 3,537评论 0 1
  • 换工作之后,PYTHON就放下啦,基本没接触了,也都忘记的差不多了,现在重新捡起来 1.1 NumPy Array...
    wqh8384阅读 582评论 0 1
  • 午餐 晚饭,但是我没有吃,我想如果吃了,长2斤,我得花一周时间减肥,我不愿意,这个买卖不合算,于是我毅然决然出门,...
    Happy欢颜阅读 202评论 1 1
  • 书名:《隐藏的自我-大脑的秘密生活》 | Incognito - The Secret Lives of the ...
    沐熹的星空阅读 301评论 0 0