python - 动态过滤熊猫数据帧时出现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]
解决方案
您已将 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
推荐阅读
- business-intelligence - 抑制 oracle BI 中特定列的值
- angular - Angular 材质拖放多行列表
- node.js - 如何处理来自 Angular 的 HTML 响应
- odoo - 在销售报告中显示所有产品
- python - Python主程序exe使用subprocess.popen调用其他程序exe,如果传值给其他程序exe
- wso2 - 无法处理请求:/api/identity/recovery/v0.9/recover-password WSO2 Identity Server 5.3.0
- azure-managed-identity - 使用应用服务和 Azure SQL 的用户分配的身份是否有效?
- php - 带有 MicroKernelTrait 的 Symfony 5 微应用程序抛出错误“控制器没有容器集”
- spartacus-storefront - 禁用 Spartacus 组件样式
- verilog - 在 Verilog 中推断真正的双端口 RAM(Xilinx 和 Intel 兼容)