繁体   English   中英

通过字典的键进行迭代,并对作为数据帧的值进行切片

[英]iterating through keys of a dictionary and perform slicing on its values which are dataframes

我有一本字典,其值为“ pandas data frame”。
我想遍历键并对键的值执行切片。

dictionary = {'key_1':[[1, 2, 3, 4], [4, 6, 7, 8]], 'key_2': [[5,8,4,6],[1,5,2,6]]}  

最终输出如下所示:

dictionary = {'key_1':[[3,4],[7,8]], 'key_2': [[4,6], [2,6]]}  

任何帮助,将不胜感激。

假设我们有一个清单:

li = [1, 2, 3, 4]

...,如果我们需要最后两个元素:

li[-2:] ==> [3, 4]

嵌套列表如何:

v = [[1, 2, 3, 4], [4, 6, 7, 8]]
[li[-2:] for li in v] ==> [[3, 4], [7, 8]

把它放在一起:

{k: [li[-2:] for li in v] for k, v in dictionary.items()}  # It's what you want

您可以借助nested for loopdict.items()方法获得所需的结果,如下所示:

dictionary = {'key_1':[[1, 2, 3, 4], [4, 6, 7, 8]], 'key_2': [[5,8,4,6],[1,5,2,6]]} 
new_dict = {}

for key,value in dictionary.items():  # Iterating key and value
    my_list = []
    for var in value:   # Iterating over a particular value
        my_list.append( var[-1:-3:-1]  )  # Performing indexing and slicing.
    new_dict[key] = my_list   
dictionary = new_dict
print(dictionary)

输出量

{'key_1': [[4, 3], [8, 7]], 'key_2': [[6, 4], [6, 2]]}

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM