Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
获取索引的pythonic方法,列的值==1_Python_Pandas - Fatal编程技术网

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

获取索引的pythonic方法,列的值==1,python,pandas,Python,Pandas,我目前有一个MxN数据帧,其中包含一个优化问题的解决方案。{M}对中的i的“活动”i、j和{N}对中的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

我目前有一个MxN数据帧,其中包含一个优化问题的解决方案。{M}对中的i的“活动”i、j和{N}对中的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 
在这种情况下,我需要的是一个成对的列表(元组可以):

有办法吗

谢谢

A

编辑:解释不清楚
编辑2:我的解释还不清楚

你试过你的数据框==1吗?或者你想把结果作为元组列表?我想这是。试试
df[df==1].index.tolist()
@Mauris,这样行得通,我试试看。tobias_k,看起来Mauris和你在同一页上。我会给你回电话的。@Mauris,set(df[df==1]。index.tolist())==set(df.index.tolist())生成True。我会试试你的第一个建议,我想这可能就是我想要的。@misterte你想把行和列作为元组吗?你试过你的数据框==1了吗?或者你想把结果作为元组列表?我想这是。试试
df[df==1].index.tolist()
@Mauris,这样行得通,我试试看。tobias_k,看起来Mauris和你在同一页上。我会给你回电话的。@Mauris,set(df[df==1]。index.tolist())==set(df.index.tolist())生成True。我会试试你的第一个建议,我想这可能就是我想要的。@misterte你想要行和列作为元组吗?正是这个。谢谢对于任何使用数据帧的人,首先使用df.as_matrix()。正是这样。谢谢对于使用数据帧的任何人,请首先使用df.as_matrix()。
>>> 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]])
>>> 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]])