gpt4 book ai didi

pandas - 忽略警告 Pandas KeyError : value not in index

转载 作者:行者123 更新时间:2023-12-04 00:26:04 27 4
gpt4 key购买 nike

有没有办法抑制 Pandas KeyError: '[x]' not in index?例如,如果我有一个包含 ABC 列的数据框,并且我调用 df[['A','B','C','D']],是否可以让它只返回 A,B,C如果 D 不存在,则忽略它?

示例代码

import pandas as pd
import numpy as np

a = np.matrix('[1,4,5];[1,2,2];[9,7,5]')

df = pd.DataFrame(a,columns=['A','B','C'])

df[['A','B','C','D']]


这是错误信息

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 2133, in __getitem__
return self._getitem_array(key)
File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 2177, in _getitem_array
indexer = self.loc._convert_to_indexer(key, axis=1)
File "/usr/lib/python3/dist-packages/pandas/core/indexing.py", line 1269, in _convert_to_indexer
.format(mask=objarr[mask]))
KeyError: "['D'] not in index"

最佳答案

选择列时,使用列交叉点与所需列表。当所有列存在时,您将获得所有列,并且仅获得具有较少列的子集,没有任何错误。

l = ['A', 'B', 'C', 'D']
df[df.columns.intersection(l)]

A B C
0 1 4 5
1 1 2 2
2 9 7 5

关于pandas - 忽略警告 Pandas KeyError : value not in index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com