栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

numpy矩阵行/列上的函数应用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy矩阵行/列上的函数应用

几乎所有的numpy函数都在整个数组上运行,并且/或者可以被告知在特定的轴(行或列)上运行。

只要您可以根据作用在numpy数组或数组切片上的numpy函数来定义函数,您的函数将自动在整个数组,行或列上运行。

询问如何实现特定功能以获得更具体的建议可能会更有用。


Numpy提供np.vectorize和np.frompyfunc来将对数字进行操作的Python函数转换为对numpy数组进行操作的函数。

例如,

def myfunc(a,b):    if (a>b): return a    else: return bvecfunc = np.vectorize(myfunc)result=vecfunc([[1,2,3],[5,6,9]],[7,4,5])print(result)# [[7 4 5]#  [7 6 9]]

(当第二个数组较大时,第一个数组的元素将替换为第二个数组的相应元素。)

但是不要太兴奋;

np.vectorize
并且
np.frompyfunc
是只是语法糖。它们实际上并没有使您的代码更快。如果您的基础Python函数一次仅对一个值进行操作,则一次
np.vectorize
将其馈入一个项,并且整个操作将非常缓慢(与使用numpy函数调用某些基础C或Fortran实现相比)


要计算

x
小于数字的column元素个数
y
,可以使用如下表达式:

(array['x']<y).sum()

例如:

import numpy as nparray=np.arange(6).view([('x',np.int),('y',np.int)])print(array)# [(0, 1) (2, 3) (4, 5)]print(array['x'])# [0 2 4]print(array['x']<3)# [ True  True False]print((array['x']<3).sum())# 2


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651257.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号