Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 忽略警告错误:值不在索引中_Pandas_Warnings - Fatal编程技术网

Pandas 忽略警告错误:值不在索引中

Pandas 忽略警告错误:值不在索引中,pandas,warnings,Pandas,Warnings,是否有方法抑制索引中没有“[x]”的错误?例如,如果我有一个列为abc的数据帧,我调用df[['a','B','C','D']],是否可以让它只返回a,B,C,如果它不存在则忽略D 示例代码 将熊猫作为pd导入 将numpy作为np导入 a=np.矩阵('[1,4,5];[1,2,2];[9,7,5]')) df=pd.DataFrame(a,列=['a','B','C']) df[['A','B','C','D']] 这是错误消息 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“

是否有方法抑制索引中没有“[x]”的错误?例如,如果我有一个列为abc的数据帧,我调用df[['a','B','C','D']],是否可以让它只返回a,B,C,如果它不存在则忽略D

示例代码

将熊猫作为pd导入
将numpy作为np导入
a=np.矩阵('[1,4,5];[1,2,2];[9,7,5]'))
df=pd.DataFrame(a,列=['a','B','C'])
df[['A','B','C','D']]
这是错误消息

回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/lib/python3/dist packages/pandas/core/frame.py”,第2133行,在__
返回self.\u getitem\u数组(键)
文件“/usr/lib/python3/dist packages/pandas/core/frame.py”,第2177行,在_getitem_数组中
索引器=self.loc.\u转换为索引器(键,轴=1)
文件“/usr/lib/python3/dist packages/pandas/core/index.py”,第1269行,在“convert\u to\u indexer”中
.format(mask=objarr[mask]))
KeyError:“['D']不在索引中”

选择列时,使用列交叉点与所需列表。您可以在所有列存在时获取它们,并且只获取列数较少且没有任何错误的子集

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

或者,如果您确实想要
D
,您可以在
轴=1上:

l=['A','B','C','D']
df.reindex(l,axis=1)


因为
D
不在列中,
print(df.columns)
['A','B','C',
   A  B  C   D
0  1  4  5 NaN
1  1  2  2 NaN
2  9  7  5 NaN