Skip to main content
 首页 » 编程设计

获取索引的pythonic方式,值== 1的列

2025年05月04日36lovecherry

我目前有一个 MxN 数据框,其中包含优化问题的解决方案。 {M} 中的 i 和 {N} 对中的“事件”i,j 由 1 表示,“非事件”对由 0 表示。我需要确定所有事件单元格的 i,j 值,希望避免 for 循环索引或列。

这是一个例子:

In [73]: sol_df 
Out[73]: 
 
    1    2    3   4   5 
1   0    0    1   0   0 
2   1    0    0   0   0 
3   0    1    0   0   0 
4   0    0    0   0   0  

在这种情况下,我需要的是一个成对列表(元组就可以):

[(1,3), (2,1), (3,2)] 

有办法吗?

谢谢!

A.

编辑:解释不清楚 EDIT2:我的解释仍然不清楚

请您参考如下方法:

>>> import numpy 
>>> a = numpy.array([[1, 0, 1], [0, 1, 1], [0, 1, 0]]) 
>>> numpy.transpose(numpy.nonzero(a)) 
array([[0, 0], 
       [0, 2], 
       [1, 1], 
       [1, 2], 
       [2, 1]])