我在pandas中有一个矩阵
print reducedMatrix
0 1 3 4
1 2 99991 0 0
2 0 4 0 1
3 3 0 9991 2
4 1 0 2 99989
并希望迭代它并打印i和j为零值,我使用:
for i,rows in reducedMatrix.iterrows():
for j,cols in reducedMatrix.iteritems():
if (reducedMatrix[i][j] == 0): #here we check all zero values
print i,j
但它不起作用
预期产出
1,3
1,4
2,0
2,3
3,0
4,1
保存行和列名称至关重要
我该如何实现?
提前感谢您的帮助!
答案 0 :(得分:0)
我建议使用numpy' where
函数。
np.where(df.values == 0)
将返回与条件匹配的行和列的索引。要检索原始行和列名称:
rows, cols = np.where(df.values == 0)
list(zip(df.index[rows], df.columns[cols]))