如何在numpy数组中找到对应的最大值

用户名

我已经从UV / Vis获得了数据

紫外线/可见光

我的目标是在330nm之后找到一个波长并找到最大吸收率。因此,在这种情况下,最高值将在420nm处约为0.4

CSV文件如下所示

Wavelength (nm) Absorbance (AU) Std.Dev.
190 2.458802223 0.012281572
191 2.523416042 0.011004285
192 2.609054089 0.014727822 
193 2.6453619   0.00920296
.
.

等等

这是我的代码

import os
import sys
import matplotlib.pyplot as plt
import csv
import numpy as np

Rhod = open('Rhodamine.CSV', 'r+')
text = Rhod.read()
Rhod.close()
x = text.split('\n')

f = np.loadtxt(x, delimiter=',', skiprows=1, unpack=True)

x = f[0]
y = f[1]

我已经使用np.loadtext更改了数组。但是我被困在这里

我用过

for x in range(330,900):
    print(int(max(y)))

但是,此打印会打印y的整个数组,(900-330)次。

谢谢你们!

重要性

为了读入您显示的数据,需要使用delimiter = ' '代替,但这可能是复制的问题。

现在有两个数组,您想x在另一个(y)最大的位置上找到一个(的值,您可以

x[np.argmax(y)]

wherrenp.argmax查找最大值的索引。

直接使用xy当然会在190左右产生不需要的结果。因此,您首先需要对数组进行切片。在您的情况下,似乎x值之间的步长等于和1这使得它非常容易:

xc = x[330-int(x.min()):]
yc = y[330-int(x.min()):]
print xc[np.argmax(yc)]

对于更一般的情况,您可以使用布尔切片,

xc = x[x >= 330]
yc = y[x >= 330]
print xc[np.argmax(yc)]

只是为了确保背景没有其他错误:调用了您读入的文件时Rhodamine,您显示的图形不能是若丹明,因为它在黄色/绿色(〜550 nm)中有吸收,而在420 nm处没有吸收。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在numpy数组列中找到最大值?

如何在数组以及对应的日期中找到最大值和最小值

如何在数组中找到最大值

如何在Swift对象数组中找到最大值?

如何在教堂中找到数组的最大值

如何在dataframe列的数组中找到最大值?

如何在多维数组中找到最大值

如何在列表中找到数组的最大值?

如何在NumPy数组中找到第一个局部最大值?

如何在与一个变量中的最大值相对应的所有变量中找到最大值?

如何在一个数组中找到最大值,对应于另一个数组中的唯一值/点?

如何在numpy中的3d数组中找到最小值和最大值,并将结果分组?

如何在 Python 中找到二维数组的最小值和最大值

如何在数组中找到最大值和最小值

如何在 numpy 數組中找到行索引的最大值?

如何在整个带有索引的2D数组中找到最大值

如何在整个二维数组中找到最大值(处理)

如何在数组中找到并打印最大值的索引?

如何在MATLAB中找到多个数组的最大值?

如何在二维数组列表中找到最大值/秒?

如何在C中的数组中找到最大值的位置

如何在二维数组(矩阵)中找到局部最大值的索引?

如何在MongoDB中缺少字段的数组中找到最大值的索引?

如何在C中找到数组中每5个元素的最大值

如何在RDD对中找到最大值?

如何在参数包中找到最大值?

如何在Hash R中找到最大值的键?

如何在Swift字典中找到最大值?

如何在向量列中找到最大值的索引?