如何跳过pandas中的按键错误?

问题描述 投票:0回答:2

我有一本字典和一张清单。对于列表中的每个键,我想绘制与该键关联的值。

我在 pandas 中有以下代码:

import numpy as np; np.random.seed(22)
import seaborn as sns; sns.set(color_codes=True)

window = int(math.ceil(5000.0 / 100))
xticks = range(-2500,2500,window)

sns.tsplot([mydictionary[k] for k in mylist],time=xticks,color="g")

plt.legend(['blue'])

但是,我得到 KeyError: xxxx

我可以手动删除列表中所有有问题的键,但这需要很长时间。有没有办法可以跳过这个关键错误?

pandas key
2个回答
5
投票

如果您正在寻找一种方法来克服按键错误,请使用

try
except
。然而,提前清理数据会更优雅。

示例:

mydictionary = {
    'a': 1,
    'b': 2,
    'c': 3,
}

mylist = ['a', 'b', 'c', 'd']

result = []
for k in mylist:
    try:
        result.append(mydictionary[k])
    except KeyError:
        pass

print(result)

>>> [1, 2, 3]

您需要先构建列表,然后再在 seaborn 图中使用它。然后,通过调用传递列表:

sns.tsplot(result ,time=xticks,color="g")


0
投票

解决了类似的问题

[mydictionary[k] for k in mylist if k in mydictionary]
© www.soinside.com 2019 - 2024. All rights reserved.