Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.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 for循环,迭代numpy arrange方法中的值_Python_Numpy_Dictionary_For Loop - Fatal编程技术网

Python for循环,迭代numpy arrange方法中的值

Python for循环,迭代numpy arrange方法中的值,python,numpy,dictionary,for-loop,Python,Numpy,Dictionary,For Loop,我需要编写代码来测试分类问题的截止值的numpy数组。要测试的值存储在cutoff_列表变量中。然后我想把产生的混淆矩阵列表放在字典中。但是,下面的代码只提供了第一个字典条目(第一个测试值的混淆矩阵): 我正在使用的库: from pandas import Series, DataFrame import pandas as pd import numpy as np from sklearn.metrics import confusion_matrix 这是循环或字典更新步骤的问题吗?我

我需要编写代码来测试分类问题的截止值的numpy数组。要测试的值存储在
cutoff_列表
变量中。然后我想把产生的混淆矩阵列表放在字典中。但是,下面的代码只提供了第一个字典条目(第一个测试值的混淆矩阵):

我正在使用的库:

from pandas import Series, DataFrame
import pandas as pd
import numpy as np
from sklearn.metrics import confusion_matrix

这是循环或字典更新步骤的问题吗?我是Python新手,对R有更多的经验,但仍然在这里挣扎。感谢您的帮助。

由于您的设置方式,for循环只运行一次

您将
np.arrange(0.1.0.01)
的返回包含在一个列表中,该列表打破了您希望for循环运行的方式。您只得到一个值,因为for循环只运行一次,因为外部列表只有一个项

>>> cutoff_list = [np.arange(0,1,0.01)]
>>> cutoff_list
[array([0.  , 0.01, ... 0.98, 0.99])]
>>> type(cutoff_list)
<class 'list'>

由于
i
将只保存用作dict键的枚举值,而
v
将保存
cutoff\u列表中的值

谢谢,这在某种意义上有助于现在循环在整个范围内运行,但df\u混淆值在每次迭代中保持不变(第一个值)--词典更新是否正确?似乎这可能是一个问题,如果没有代码使用的值,调试会更困难,但是您是否按照我的回答中的建议更新了定义
预测的
行?如果没有,将行更改为
predicted=np.where(df.indicator>v,1,0)
并查看发生了什么。没关系!这是我用错了概率栏-非常感谢你的帮助
>>> cutoff_list = [np.arange(0,1,0.01)]
>>> cutoff_list
[array([0.  , 0.01, ... 0.98, 0.99])]
>>> type(cutoff_list)
<class 'list'>
>>> cutoff_list = np.arange(0,1,0.01)
>>> cutoff_list
array([0.  , 0.01, ... 0.98, 0.99])
>>> type(cutoff_list)
<class 'numpy.ndarray'>
    predicted = np.where(df.indicator > i, 1, 0)