通过Python在列表中的特定位置查找绝对最大值或最小值

乔安妮:

我有一个数组列表,像这样:

data = [([-1.01201792,  2.5,  0.68665077]), ([-2.5,  0.5,  2.68189991]), ([-2.5,  3.5, 5.92202221]), ([-2.5, 5.5, 10.19026759]), ([-2.5, 6.5, 15.30091085])]

我试图获取每个数组的绝对最大值,而不考虑数组中的第二个值。例如,在第一个数组中:([--1.01201792,2.5,0.68665077]),如果不考虑2.5,则绝对最大值为1.01201792。

我希望结果看起来像这样:

result = [1.01201792, 2.68189991, 5.92202221, 10.19026759, 15.30091085]

我该如何实现?

布拉姆·范罗伊:

麻木的oneliner。可能比其他方法要快,具体取决于数据的实际大小。将数据转换为numpy数组,切片,以便只有第一项和最后一项,转换为绝对值,最后在轴1上取最大值。

maxs = np.abs(np.array(data)[:, [0,2]]).max(axis=1)

细分:

import numpy as np

data = [([-1.01201792,  2.5,  0.68665077]), ([-2.5,  0.5,  2.68189991]), ([-2.5,  3.5, 5.92202221]), ([-2.5, 5.5, 10.19026759]), ([-2.5, 6.5, 15.30091085])]

arr = np.array(data)  # convert into array
first_last = arr[:, [0,2]]  # only keep the first and last item of each sublist
absol = np.abs(first_last)  # convert to absolute values
maxs = absol.max(axis=1)  # get the max value on the first axis

print(maxs)

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python中查找列表的最小值,最大值

在Python的列表模式中查找最小值和最大值

在没有列表的python中查找最大值和最小值

查找列表的最小值和最大值

查找列表的最大值/最小值时,管理空列表/无效输入(Python)

查找列表中每个嵌套列表的最小值和最大值

在结构中查找最小值/最大值

在.json中查找最大值和最小值

通过列表列表中的索引计算最小值或最大值

在python中查找列表的最小值和最大值。我得到了 TypeError: 'int' 对象不可调用

通过for循环查找数组中的最大值和最小值

R:在数据框中查找列列表的最大值/最小值

从按对象标识符分组的列表中查找最小值/最大值

列表集合中的最小值和最大值

交换列表中的最大值和最小值

在列表中获取最小值和最大值

元组列表中的最小值和最大值

从 Python 中的列表列表中获取最小值和最大值的最快方法?

从数组中查找最小值和最大值,最小值始终为0

熊猫数据框通过绝对值优化获得最大值和最小值

在 Python 中查找 Pandas 的每个单元格中的最大值/最小值

在python中的字典(JSON)中查找最大值和最小值

在元组python中查找字典中的最大值和最小值

Python中的列表推导,可计算列表的最小值和最大值

在Python Pandas中查找ID的最小值,最大值和平均值

在python中查找三列的最大值和最小值

在python中查找最大值/最小值的数字比较

在python中查找变化集的最小值和最大值的有效方法

Python递归-在嵌套数组中查找最大值和最小值之和