Numpy中np.max()和np.min()用法

3 篇文章 0 订阅
2 篇文章 0 订阅

np.max()

      当我们在学习中遇到一个不认识的函数,可以查看帮助文档,查一下该函数的一些基本用法

print(help(np.max))


amax(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)
    Return the maximum of an array or maximum along an axis.
    
    Parameters

   这个函数的字面意思意思是寻找最大的数,其中有一个比较重要的参数axis。

  axis=0 代表列 , axis=1 代表行。

如果需要找每一列中最大的数字,则设置axis=0,需要找每一行中的最大数字,则设置axis=1。

np.min() 

        我们也可以查一下帮助文档,其实会发现与max()函数几乎是一样的

        

print(help(np.min))
amin(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)
    Return the minimum of an array or minimum along an axis.
    

该函数与字面意思是一样,寻找最小的数字。

axis=0,代表的是行,axis=1,代表的是列

如果需要找每一列中最小的数字,则设置axis=0,需要找每一行中的最小数字,则设置axis=1。

返回值是个数组

代码如下


a = np.random.randint(1,100,(9,4))
print(a)

max1 = a.max(axis=1)
print("每行最大的数",max1)

max2 = a.max(axis=0)
print("每列最大的数:",max2)

min1 = a.min(axis=1)
print("每行最小的数",min1)

min2 =a.min(axis=0)
print("每列最小的数:",min2)

# [[26 22 37 94]
#  [62  6 95 10]
#  [43 68 14 46]
#  [60 47 35 48]
#  [74 11 88 63]
#  [27 80 18 19]
#  [91 99 68 88]
#  [83 33 16  1]
#  [62 63 90 48]]
# 每行最大的数 [94 95 68 60 88 80 99 83 90]
# 每列最大的数: [91 99 95 94]
# 每行最小的数 [22  6 14 35 11 18 68  1 48]
# 每列最小的数: [26  6 14  1]

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import numpy as np from numba import jit @jit def VMD(signal, fs, T, alpha, tau, K, DC, init, tol): f_mirror = np.zeros((2*T)) for i in range(T//2): f_mirror[i] = signal[T//2-1-i] for k in range(T//2, 3*T//2): f_mirror[k] = signal[k - T // 2] for l in range(3*T//2, 2*T): f_mirror[l] = signal[5*T//2-l-1] f = f_mirror T = len(f) t = np.arange(1, T+1, 1)/T freqs = t - 0.5 - 1.0 / T freqs = freqs + 0.j N = 500 Alpha = alpha * np.ones((1, K)) Alpha = Alpha + 0.j f_hat = np.fft.fftshift(np.fft.fft(f)) f_hat_plus = f_hat for l in range(0, T//2): f_hat_plus[l] = 0 u_hat_plus = np.zeros((N, T, K)) u_hat_plus = u_hat_plus + 0.j omega_plus = np.zeros((N, K)) # 生成N行K列的数组,元素为0, 500*3 omega_plus = omega_plus + 0.j if init == 1: for i in range(0, K): omega_plus[0][i] = 0.5/K*i elif init == 2: omega_plus[0, :] = np.sort(np.exp(np.log(fs)) + (np.log(0.5)-np.log(fs))*np.random.rand(0, K)) else: omega_plus[0, :] = 0 if DC: omega_plus[0, 0] = 0 else: pass # 从空双变量开始 lambda_hat = np.zeros((N, T)) # lambda_hat = lambda_hat + 0.j # 其他参数初始化 uDiff = tol + 2.77555756e-17 # 更新步长 n = 1 # 循环计数 sum_uk = 0.j # 器材累加 while uDiff > tol and n < N : # 表示没有收敛或低于迭代次数,其,n和K都从1开始 # 更新第一阶模态累加器 k = 0 sum_uk = u_hat_plus[n-1, :, K-1] + sum_uk - u_hat_plus[n-1, :, 0] # sum_uk此时还是一维数组 # print(sum_uk) # ------------------------ ----检验专用----------------------- # 通过残差维纳滤波器更新第一模态的频谱 u_hat_plus[n, :, k] = (f_hat_plus - sum_uk - lambda_hat[n - 1, :] / 2.0) / (1 + Alpha[0, k]*(freqs - omega_plus[n-1, k])**2) if ~DC: omega_plus[n, k] = np.dot(freqs[T//2: T], ((abs(u_hat_plus[n, T//2:T, k])).reshape(T//2, 1))**2) / sum((abs(u_hat_plus[n, T//2:T, k]))**2) for k in range(1, K):

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值