【问题标题】:Python3 Pandas keyerror:0Python3 Pandas 键错误:0
【发布时间】:2021-10-16 00:26:33
【问题描述】:

为什么这个源代码显示KeyError。我已经检查了所有代码,但它们没问题。逻辑回归分析

def testPerformance(y, y_predicted):
    K = len(unique(y))  # Number of classes
    # Result will be our confusion matrix
    result = zeros((K, K))
    for i in range(len(y)):
        result[y[i]][y_predicted[i]] += 1 
    accuracy = (result[0][0] + result[1][1]) / sum(result)
    recall = result[1][1] / (result[1][1] + result[1][0])
    precision = result[1][1] / (result[1][1] + result[0][1])
    f1 = 2 * precision * recall / (precision + recall)
    return [accuracy, recall, precision, f1]
----------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\indexes\base.py", line 3361, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas\_libs\index.pyx", line 76, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 2131, in pandas._libs.hashtable.Int64HashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 2140, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 0

上述异常是以下异常的直接原因:

Traceback (most recent call last):
  File "C:\Users\Sakib\PycharmProjects\pythonProject\main.py", line 59, in <module>
    print(testPerformance(y_test, y_predicted))
  File "C:\Users\Sakib\PycharmProjects\pythonProject\main.py", line 45, in testPerformance
    result[y[i]].iloc[y_predicted[i]] += 1
  File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\series.py", line 942, in __getitem__
    return self._get_value(key)
  File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\series.py", line 1051, in _get_value
    loc = self.index.get_loc(label)
  File "C:\Users\Sakib\PycharmProjects\pythonProject\venv\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
    raise KeyError(key) from err
KeyError: 0

【问题讨论】:

    标签: python python-3.x pandas keyerror


    【解决方案1】:

    你能解释一下背后的意图吗

    result[y[i]][y_predicted[i]] += 1 
    

    如果你能给出一个 y 和 y_predicted 的样本值?

    【讨论】:

    • y_predicted: [0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0]
    • y: (199, 0) (47, 0) (253, 0) (107, 1) (6, 1) (88, 1) (138, 0) (147, 0) (118, 0) (153, 0) (183, 0) (195, 0) (43, 1) (130, 0) (35, 0) (105, 0) (64, 1) (23, 1) (44, 1) (206, 0) (62, 1) (40, 0) (229, 1) (194, 0) (77, 0) (1, 0) (68, 0) (191, 0) (94, 0) (93, 0) (85……77个设定值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    相关资源
    最近更新 更多