python - 如何获取嵌套列表中的最大值?
问题描述
我试图获取MAX
此列表中每个“国家”的价格。
my_list = [
['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0),'0,012'],
['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0),'0,153'],
['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,114'],
['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,109'],
['Morocco', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,252'],
['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,012'],
['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,113'],
['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,116'],
['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,250'],
['Spain', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,266'],
['Italy', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,112'],
['Italy', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,025'],
['Italy', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,224'],
['Italy', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,256'],
['Italy', 'Fish', datetime.datetime(2020, 11, 17, 0, 0), '0,245']]
这是我的代码:
max_price_per_list = []
for lst in my_list:
for price in lst:
max_value = price[-1]
max_price_per_list.append(max_value)
print(max_price_per_list)
我收到以下错误:TypeError: 'datetime.datetime' object is not subscriptable
当我 printend 时,我期望得到以下结果max_price_per_list
:
['0,252', '0,266', '0,256']
解决方案
您可以省略第二个循环以获取所需的列表。
max_price_per_list = []
for lst in my_list:
max_value = lst[-1]
max_price_per_list.append(max_value)
print(max_price_per_list)
但是,如果您想获得每个国家/地区的最大值,我建议您使用该pandas
软件包。您可以使用以下代码获取列表中每个国家/地区的最高价格:
import pandas as pd
df = pd.DataFrame(my_list)
df.groupby(0).max()
>>> 1 2 3
0
Italy Fish 2020-11-17 0,256
Morocco Fish 2020-11-17 0,252
Spain Fish 2020-11-17 0,266
推荐阅读
- azure - 希望让 Azure B2C 自定义策略使用自定义错误页面(并传递一个值)
- c# - WPF TreeView在不同级别绑定多个不同的字典并按TKey排序
- microsoft-graph-api - Graph API - 访问本地邮箱时在某些数据中心返回 404
- java - Axon:设置分布式命令总线
- ocaml - OCaml 动态链接和 -nodynlink 编译标志
- r - 如何仅打印ggplot2(R)中数据框列中的姓氏?
- asp.net-core-razor-pages - 我在使用 RazerPages 应用程序时遇到 CS1061 错误,告诉我定义不存在,但确实存在,有人可以向我指出这个问题吗?
- r - 基于多个标准的data.table R中的新变量
- c# - 由分隔整数组成的字符串的层次和数字排序 (C#)
- reactjs - 如何将纯 HTML 代码转换为 react-quill 文本编辑器的值?