最后可能很明显,但我想不出一种方法来做到这一点。感谢您的帮助!
我做了一个预测任务,结果我有一个包含百分比的 DataFrame 和一个包含预测类的列,如下所示:
Class1 Class2 Class3 Prediction
0 0.99 0.01 0.00 Class1
1 0.15 0.14 0.71 Class3
2 0.05 0.80 0.15 Class2
现在我想访问预测类别的概率。所以我想要一个如下所示的列表,以便我可以进一步使用它。
0 0.99
1 0.71
2 0.80
我很难找到一种方法来一次只访问 df.Predicted 的一个值,并且不知道如何搜索它。我如何获得这个值或我想要的列表?我试过这个:
values = []
for row in df.Predicted:
values.append(row)
print(values)
但它会为每次迭代返回整列。它也不太像 Pandas 。我正在使用 python 3.5,以防它有所作为
最佳答案
IIUC:
In [15]: df.lookup(df.index, df.Prediction)
Out[15]: array([ 0.99, 0.71, 0.8 ])
或
In [23]: df.max(axis=1)
Out[23]:
0 0.99
1 0.71
2 0.80
dtype: float64
或
In [24]: df.filter(regex='^Class').idxmax(axis=1)
Out[24]:
0 Class1
1 Class3
2 Class2
dtype: object
关于python - 提取一个列表,其值的位置由 Pandas DataFrame 中另一列中的值指示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46978684/