python - 操作列表的列表

标签 python arrays list plot

我有 3 个列表;其中一个名称,一个数据和一个日期,我将在下面打印一个示例(实际数据集要大得多,我第一次在这里询问)

List1 = [[Ref1,Ref2,Ref3],[Ref1,Ref2,Ref3,Ref4],[Ref2,Ref3]]
List2 = [[1,2,3],[1.1,2.1,3.1,4.1],[2.2,3.2]]
List3 = [2020,2019,2021]

我已设法操纵数据以使列表的顺序彼此匹配。我需要做的是为每个 Refx 创建图表,其中 y 轴为 List 2,x 轴为 List 3。

我想以这样的方式为每个 Refx 按日期顺序提供单独的列表,例如:

Ref1 = [1.1,1]
Ref2 = [2.1,2,2.2]
Ref3 = [3.1,3,3.2]
Ref4 = [4.1]

dates = [2019,2020,2021]

然后我可以轻松地绘制每个 Refx 一些建议会很棒......

最佳答案

这个答案会将数据重组到字典中,这与您在问题中要求的内容有点不同,但也可能有帮助:

List1 = [["Ref1", "Ref2", "Ref3"], ["Ref1", "Ref2", "Ref3", "Ref4"], ["Ref2", "Ref3"]]
List2 = [[1, 2, 3], [1.1, 2.1, 3.1, 4.1], [2.2, 3.2]]
List3 = [2020, 2019, 2021]

# default dict will allow us accumulating values
from collections import defaultdict

d = defaultdict(list)

# this will iterate in the order sorted by List3 (first arg to zip)
for year, refs_keys, refs_vals in sorted(zip(List3, List1, List2)):
    # this is to iterate over the nested lists
    for ref_key, ref_val in zip(refs_keys, refs_vals):
        d[ref_key].append(ref_val)
    d["years"].append(year)

# convert to plain dict (optional)
d = dict(d)
print(d)

关于python - 操作列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71790912/

相关文章:

javascript - 如何有效地从 Pandas 数据框转移到 JSON

python - 比较python中嵌套列表中列表的第一个元素

python - python 3中列表的合并列表

python - Pyramid 响应完成后如何执行方法?

python - 在pyqt的for循环中连接多个信号/槽

c - array 要么不打印出计数,要么打印出多次

c - C 数组中第二最少出现的元素

java - 将列表转换为数组。 java.lang.ArrayStoreException异常

python - 来自其他文件的 flask 路由器

arrays - 练习面试题在array[j] >= array[i]的条件下要求max j-i;不懂解决办法