首页 > 解决方案 > 动态过滤熊猫数据帧时出现KeyError

问题描述

尝试从数据框中过滤列时,我在主题行中收到以下错误(有关详细信息,请参阅随附的屏幕截图):

[Index([''a','c''], dtype='object')] 都没有在 [columns] 中

这是我的代码:

seleted_columns_final = "'a','c'"

df_final = df[[str(seleted_columns_final)]]
print(df_final)

在此处输入图像描述

测试数据框如下:

row1 = {'a':5,'b':6,'c':7,'d':'A'}
row2 = {'a':8,'b':9,'c':10,'d':'B'}
row3 = {'a':11,'b':12,'c':13,'d':'C'}
df = pd.DataFrame([row1,row2,row3])[enter image description here][2]

标签: pythonpandas

解决方案


您已将 seleted_columns_final 声明为字符串 ("'a', 'c'") 并再次将其转换为字符串?我猜您想将选定列的列表作为列表并使用该列表创建一个数据框。

尝试:

seleted_columns_final= ['a','c']
df_final = df[seleted_columns_final]
print(df_final)

输出:

    a   c
0   5   7
1   8  10
2  11  13

推荐阅读