python 函数作用于矩阵_python – 函数应用于numpy的矩阵行/列

几乎所有numpy函数对整个数组进行操作,和/或可以被告知在特定轴(行或列)上操作。

只要你可以根据对numpy数组或数组切片的numpy函数来定义你的函数,你的函数将自动对整个数组,行或列进行操作。

询问如何实现一个特定的函数以得到更具体的建议可能会更有帮助。

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

例如,

def myfunc(a,b):

if (a>b): return a

else: return b

vecfunc = 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是just syntactic sugar.他们实际上不会使你的代码更快。如果你的底层Python函数一次对一个值进行操作,那么np.vectorize将一次给它一个项目,并且整个

操作将会很慢(相比使用numpy函数调用一些底层C或Fortran实现)。

要计算列x的元素数小于数字y,您可以使用以下表达式:

(array['x']

例如:

import numpy as np

array=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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值