Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.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
python中的数千行错误是什么_Python_Pandas_Dataframe - Fatal编程技术网

python中的数千行错误是什么

python中的数千行错误是什么,python,pandas,dataframe,Python,Pandas,Dataframe,我不确定当python错误在uu getitem uu中打印第1500行或在u getitem u轴中打印第1913行时意味着什么-这些行来自哪里 比如说, Traceback (most recent call last): File "script.py", line 6, in <module> us = df.loc['origin' == 'US'] File "script.py", line 1500, in __getitem__ return

我不确定当python错误在uu getitem uu中打印
第1500行或在u getitem u轴
中打印
第1913行时意味着什么-这些行来自哪里

比如说,

Traceback (most recent call last):
  File "script.py", line 6, in <module>
    us = df.loc['origin' == 'US']
  File "script.py", line 1500, in __getitem__
    return self._getitem_axis(maybe_callable, axis=axis)
  File "script.py", line 1913, in _getitem_axis
    return self._get_label(key, axis=axis)
  File "script.py", line 141, in _get_label
    return self.obj._xs(label, axis=axis)
  File "script.py", line 3575, in xs
    loc = self.index.get_loc(key)
  File "script.py", line 2604, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "script.py", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "script.py", line 129, in pandas._libs.index.IndexEngine.get_loc
  File "script.py", line 91, in pandas._libs.index.Int64Engine._check_type
KeyError: False
回溯(最近一次呼叫最后一次):
文件“script.py”,第6行,在
us=df.loc['origin'=='us']
文件“script.py”,第1500行,在__
返回self.\u getitem\u axis(可能可调用,axis=axis)
文件“script.py”,第1913行,在_getitem_轴中
返回自我。获取标签(键,轴=轴)
文件“script.py”,第141行,在_get_标签中
返回self.obj._xs(标签,轴=轴)
文件“script.py”,第3575行,xs格式
loc=自索引获取loc(键)
文件“script.py”,第2604行,在get_loc中
返回self.\u引擎。获取\u loc(self.\u可能\u cast\u索引器(键))
文件“script.py”,第108行,在pandas.\u libs.index.IndexEngine.get\u loc中
文件“script.py”,第129行,在pandas.\u libs.index.IndexEngine.get\u loc中
pandas.\u libs.index.Int64Engine.\u check\u type中的文件“script.py”,第91行
KeyError:错误

请注意,如果您能使用人类语言或通过类比/示例进行解释,将不胜感激

这些函数是Python内置支持的一部分;许多例程都很长,或者是长模块中的一个函数。点是命名约定的一部分:包、模块、子模块。。。作用比如说

pandas._libs.index.IndexEngine.get_loc

get\u loc
是熊猫数据帧包中的一个基本位置检索功能。

这是一个堆栈跟踪。它不仅显示了实际错误直接发生的位置,还显示了发生时程序正在执行的操作

  • 代码
    df.loc['origin'=='US']
    (第6行)位于跟踪的顶部,这意味着这是根本原因,但这本身并不是错误。这将计算
    'origin'=='US'
    False
    ,因为这是一个简单的字符串比较,字符串不相等,然后它将计算
    df.loc[False]
  • 评估这一点需要在对象
    df.loc
    中查找键
    False
    。这将调用
    \uuu getitem\uuu
    方法,每当您使用语法
    a[b]
    访问密钥时,都会调用该方法
  • \u getitem\u
    方法有一行
    返回self.\u getitem\u axis(可以调用,axis=axis)
    调用名为
    \u getitem\u axis
    的方法。这是文件的第1500行
  • \u getitem\u axis
    方法有一行
    返回self.\u get\u label(键,axis=axis)
    ,调用方法
    \u get\u label
    。这是文件的第1913行
  • ……等等
  • 最后,方法
    pandas.\u libs.index.Int64Engine.\u check\u type
    检查键的类型。键为
    False
    ,类型为
    bool
    。据推测,对于您正在执行的查找,这不是有效的类型,因此
    \u check\u type
    方法会引发
    KeyError
在一般术语和“人类语言”中,python是一种高级编程语言。这意味着,当程序员将输入控制台的英语单词翻译成机器作为指令的位时,它隐藏了很多东西。以简单乘法为例。您可能会想当然地认为
2*2
中的星号
*
符号表示乘法,但您的计算机不能也不会想当然地认为这一点。不,必须在某个地方有一个文件定义ASCII符号
*
在您的代码中的使用,以及遇到时如何将两个数字相乘(或者为此,如何执行
2*“string”
)。所有这些较低级别的定义都存在于机器上的python安装中。当您以英语单词形式输入指令时,编译器必须逐行对其进行解析,在python安装中查找所有这些较低级别的定义,并根据这些定义将python转换为计算机可以实际使用的内容。在这个密集的过程中,对于一个非常简单的python语句,可能会遇到许多不同的函数和定义,可能跨越多个文件和安装的库。如果在此过程中遇到编译器不知道如何继续的问题,将抛出错误。抛出的错误看起来可能很复杂,但是,正如其他人所描述的,它包含了编译器在发现错误的那一刻正在查看的内容的完整跟踪。这对调试程序(或者甚至在必须导入的库中查找bug等)有很大帮助


希望这有帮助

但它确切地说明了他们来自哪里。有什么不清楚的?错误
文件“script.py”,第1500行表示文件
script.py
中的第1500行。函数名只是帮助您调试的附加信息。这称为“回溯”或(如上所述)“回溯”。用这些作为你研究的关键词。@DanielRoseman我的代码本身只有几行。档案在哪里?它是如何创建的?@DanielRoseman我认为很明显,他们对此类程序的工作原理有着根本性的误解。一个新的程序员可能只写10行代码,并且期望(很天真,但如果他们是编程新手,这并不太出乎意料)只运行他们的代码。如果他们从不是他们自己的文件和他们以前从未见过的行中获得所有这些错误输出,他们可能会混淆代码的来源。他们不理解语言功能中隐含的内置类型或标准库。