Bug描述
如果pandas查询引擎在jupyter笔记本中运行,它会给出正确的结果,但如果作为单个.py文件运行,它不会给出正确的结果。
版本
llama-index==0.10.50
重现步骤
将其制作为单个.py文件
相关日志/回溯
(venv) PS C:\Users\Nitheeswaran\Desktop\csv> & c:/Users/Nitheeswaran/Desktop/csv/venv/Scripts/python.exe c:/Users/Nitheeswaran/Desktop/csv/s.py
Traceback (most recent call last):
File "C:\Users\Nitheeswaran\Desktop\csv\venv\lib\site-packages\pandas\core\indexes\base.py", line 3805, in get_loc
return self._engine.get_loc(casted_key)
File "index.pyx", line 167, in pandas._libs.index.IndexEngine.get_loc
File "index.pyx", line 196, in pandas._libs.index.IndexEngine.get_loc
File "pandas\\_libs\\hashtable_class_helper.pxi", line 7081, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas\\_libs\\hashtable_class_helper.pxi", line 7089, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Time generated'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Nitheeswaran\Desktop\csv\venv\lib\site-packages\llama_index\experimental\query_engine\pandas\output_parser.py", line 54, in default_output_processor
output_str = str(safe_eval(module_end_str, global_vars, local_vars))
File "C:\Users\Nitheeswaran\Desktop\csv\venv\lib\site-packages\llama_index\experimental\exec_utils.py", line 159, in safe_eval
return eval(__source, _get_restricted_globals(__globals), __locals)
File "<string>", line 1, in <module>
File "C:\Users\Nitheeswaran\Desktop\csv\venv\lib\site-packages\pandas\core\frame.py", line 4102, in __getitem__
indexer = self.columns.get_loc(key)
File "C:\Users\Nitheeswaran\Desktop\csv\venv\lib\site-packages\pandas\core\indexes\base.py", line 3812, in get_loc
raise KeyError(key) from err
KeyError: 'Time generated'
The earliest log entry was generated at [insert timestamp here] and the latest log entry was generated at [insert timestamp here].
1条答案
按热度按时间cbjzeqam1#
你好,@Nitheeswaran-E! 我在这里,以帮助您解决使用Pandas查询引擎时在Jupyter笔记本中可以正常工作,但作为独立的
.py
文件执行时会抛出KeyError
的问题。请确保您的查询中使用的列名与DataFrame中的列名完全匹配。这包括检查任何前导或尾随空格、大小写敏感性和特殊字符。在您的案例中,
KeyError: 'Time generated'
建议在运行独立脚本时,'Time generated'列可能不存在于DataFrame中。请验证独立脚本中的DataFramedf
是否正确定义并包含'Time generated'列。您可以在查询之前添加调试语句来打印DataFrame列,以确认DataFrame结构:
这将帮助您确保在运行独立脚本时,DataFrame具有预期的列。