如何获得列表中最接近的值?

丹吉尔市

我有一个看起来像这样的变量:my_value = 188我有一个看起来像这样的列表:

my_list = [
    ['Morocco', 'Meat', '190,00', '0,15'], 
    ['Morocco', 'Meat', '189,90', '0,32'], 
    ['Morocco', 'Meat', '189,38', '0,44'],
    ['Morocco', 'Meat', '188,94', '0,60'],
    ['Morocco', 'Meat', '188,49', '0,78'],
    ['Morocco', 'Meat', '187,99', '0,101'],
    ['Spain', 'Meat', '190,76', '0,10'], 
    ['Spain', 'Meat', '190,16', '0,20'], 
    ['Spain', 'Meat', '189,56', '0,35'],
    ['Spain', 'Meat', '189,01', '0,40'],
    ['Spain', 'Meat', '188,13', '0,75'],
    ['Spain', 'Meat', '187,95', '0,85'],
    ['Italy', 'Meat', '190,20', '0,11'],
    ['Italy', 'Meat', '190,10', '0,31'], 
    ['Italy', 'Meat', '189,32', '0,45'],
    ['Italy', 'Meat', '188,61', '0,67'],
    ['Italy', 'Meat', '188,01', '0,72'],
    ['Italy', 'Meat', '187,36', '0,80']]

如您所见,my_list索引的数字[2]是递减的,而索引中的数字[3]是递增的。现在,对于每个列表,我想检查最接近但不是最接近索引[3]的索引[2]my_value它不应低于my_value。

我尝试下面的代码:

for key,sublists in itertools.groupby(my_list,lambda y:y[0]):
        v=[] #initialize it in case no element fulfill the condition
        for v in itertools.takewhile(lambda x:float(x[-1].replace(",","."))<my_value ,sublists):
            pass
        if v: 
            print(v[-1])

我收到以下输出:

0,101
0,85
0,80

我想要的输出是:

0,78
0,75
0,72
纪尧姆

pandas救援工作就是这样的工作

import pandas as pd
my_value = 188
my_list = [] # complete this with your list above

df = pd.DataFrame(my_list) # make a DataFrame out of your list
df[2] = df[2].str.replace(",", ".").astype(float) # convert those strings to actual floats
df[3] = df[3].str.replace(",", ".").astype(float)
selected = df[df[2]>my_value].groupby(by=0).agg({2:'min',3:'last'}) # selects what you want

print(list(selected[3])) # if you just want those values

将输出

[0.72,0.78,0.75]

selected 看起来像:

0       2       3
Italy   188.01  0.72
Morocco 188.49  0.78
Spain   188.13  0.75

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何找到最接近值列表的值?

来自分类Dev

如何从POJO属性中找到Java中最接近的值?

来自分类Dev

如何在动态创建的行中使用下拉列表中最接近文本框设置值的值

来自分类Dev

如何在动态创建的行中使用下拉列表中最接近文本框设置值的值

来自分类Dev

Java:搜索数组中最接近的值

来自分类Dev

返回数组中最接近值的索引

来自分类Dev

合并SAS中最接近的值

来自分类Dev

Java:搜索数组中最接近的值

来自分类Dev

如何获得复杂文档中最接近的前一个元素?

来自分类Dev

R将值应用于循环中最接近列表的列

来自分类Dev

将每个张量值映射到列表中最接近的值

来自分类Dev

如何获取最接近x的列表中的值的索引?

来自分类Dev

在排序列表中找到最接近/最接近的值

来自分类Dev

如何找到具有值的元素并在jquery中最接近的<tr>中设置类?

来自分类Dev

找出列表中最接近的较高数字和最接近的较低数字的差值

来自分类Dev

将值匹配到R中另一个列表中最接近的较大值

来自分类Dev

将空值设置为列表中最接近的最后一个非空值-LINQ

来自分类Dev

推断numpy数组中最接近的较小值

来自分类Dev

.bisect找不到字典中最接近的值

来自分类Dev

同一向量中最接近的其他值

来自分类Dev

使用MATLAB中最接近的值匹配列元素

来自分类Dev

使用最接近的值从列表构建表?

来自分类Dev

在python列表中找到最接近的值对

来自分类Dev

python在列表中找到最接近的值

来自分类Dev

如何比较Color对象并获取Color []中最接近的Color?

来自分类Dev

无论如何要四舍五入到C#列表中最接近的整数?

来自分类Dev

如何在单击按钮时获得与类最接近的td的值?

来自分类Dev

给定离散分布,如何将数字四舍五入到该分布中最接近的值?

来自分类Dev

如何识别X的最接近值的倍数?

Related 相关文章

  1. 1

    如何找到最接近值列表的值?

  2. 2

    如何从POJO属性中找到Java中最接近的值?

  3. 3

    如何在动态创建的行中使用下拉列表中最接近文本框设置值的值

  4. 4

    如何在动态创建的行中使用下拉列表中最接近文本框设置值的值

  5. 5

    Java:搜索数组中最接近的值

  6. 6

    返回数组中最接近值的索引

  7. 7

    合并SAS中最接近的值

  8. 8

    Java:搜索数组中最接近的值

  9. 9

    如何获得复杂文档中最接近的前一个元素?

  10. 10

    R将值应用于循环中最接近列表的列

  11. 11

    将每个张量值映射到列表中最接近的值

  12. 12

    如何获取最接近x的列表中的值的索引?

  13. 13

    在排序列表中找到最接近/最接近的值

  14. 14

    如何找到具有值的元素并在jquery中最接近的<tr>中设置类?

  15. 15

    找出列表中最接近的较高数字和最接近的较低数字的差值

  16. 16

    将值匹配到R中另一个列表中最接近的较大值

  17. 17

    将空值设置为列表中最接近的最后一个非空值-LINQ

  18. 18

    推断numpy数组中最接近的较小值

  19. 19

    .bisect找不到字典中最接近的值

  20. 20

    同一向量中最接近的其他值

  21. 21

    使用MATLAB中最接近的值匹配列元素

  22. 22

    使用最接近的值从列表构建表?

  23. 23

    在python列表中找到最接近的值对

  24. 24

    python在列表中找到最接近的值

  25. 25

    如何比较Color对象并获取Color []中最接近的Color?

  26. 26

    无论如何要四舍五入到C#列表中最接近的整数?

  27. 27

    如何在单击按钮时获得与类最接近的td的值?

  28. 28

    给定离散分布,如何将数字四舍五入到该分布中最接近的值?

  29. 29

    如何识别X的最接近值的倍数?

热门标签

归档