python - 提取一个列表,其值的位置由 Pandas DataFrame 中另一列中的值指示

标签 python pandas dataframe indexing

最后可能很明显,但我想不出一种方法来做到这一点。感谢您的帮助!

我做了一个预测任务,结果我有一个包含百分比的 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/

相关文章:

python - 根据列(字符串)对 pandas 中的 CSV 进行排序

python - Splinter,打开浏览器但无法访问网页

python - 使用 Python 运行宏后如何保存 Excel 工作簿?

python - 我想使用 selenium 和 python 打开网站中的每个项目进行抓取

python - alpha-beta剪枝算法中的alpha值是如何使用和更新的?

python - 根据现有列下一行的元素创建新列

python - 如何获取日期列表中一个月的最后一天

python - 选择 Pandas 数据数组中的特定行和列

python - 按预定义时间选择单行并使用 Pandas 创建新的 DF

scala - 如何在 spark scala 中使用带有 2 列的 array_contains?