当前位置: 首页 > 面试题库 >

熊猫查询功能不适用于列名称中的空格

孟韬
2023-03-14
问题内容

我有一个在列名中带有空格的数据框。我正在尝试使用query方法来获得结果。在“ c”列中工作正常,但出现“ a b”错误

import pandas as pd
a = pd.DataFrame(columns=["a b", "c"])
a["a b"] = [1,2,3,4]
a["c"] = [5,6,7,8]
a.query('a b==5')

为此,我收到此错误:

a b ==5
  ^
SyntaxError: invalid syntax

我不想用’_’等其他字符填充空间。

有一种使用pandasql的黑客将变量名放在方括号内的示例: [ab]


问题答案:

从大熊猫0.25开始,您将能够使用反引号转义列名称,因此您可以

a.query('`a b` == 5')


 类似资料:
  • 问题内容: 支持多级列名: 此功能非常有用,因为它允许“水平”地将同一数据框的多个版本附加到区分实例的列名称的第一级(在我的示例中)。 想象一下我已经有一个这样的数据框: 有没有一种好方法可以向列名添加另一个级别,类似于行索引: 问题答案: 无需创建元组列表 采用: 结果数据框: 2014年1月25日起提出要求

  • 我对JPareSposition进行了本机查询,如: 生成的查询如下所示: 几何图形是表中包含空间数据的列。 但跟踪还表明查询存在解析错误: 但当我在数据库中执行查询时,我得到的结果是正确的。 为什么这个不匹配? 我最终可以通过以下方式解决这个问题:

  • 问题内容: 我试图读取通过via 创建的数据框,但得到了。我认为这可能与索引为MultiIndex的事实有关,但我不确定如何处理。 调用了55k行的原始数据框,并通过以下方式创建了该数据框: 如果要使用它,这是输出。 当我对这小部分数据(5行)进行处理时,我得到一个。 这是完整的堆栈: 但是,当我在整个数据帧(55k行)上执行此操作时,我得到一个无效的指针错误,并且IPython内核死亡。有任何想

  • 如何在python熊猫中获得索引列名称?下面是一个示例数据框: 我想做的是获取/设置数据框索引标题。这是我所尝试的: 有人知道怎么做吗?

  • 问题内容: 对于较大的数据帧(大约1到300万行),应用功能似乎工作非常缓慢。 对于我的情况,我有两种与apply函数有关的任务。 首先:应用查询字典查询 第二:与groupby一起申请 我想对于第一种情况,它可以通过数据框联接来完成,而我不确定大型数据集上这种联接的资源成本。 我的问题是: 在上述两种情况下,有什么替代方法可以适用吗? 为什么申请这么慢?对于dict查找情况,我认为应该为O(N)