例如,我的数据框始终都带有非负值,但是缺失值已被编码为负值。我想获取所有这些索引。
答案 0 :(得分:1)
将boolean indexing
与www.title.org/quiz
一起使用:
df.index
说明:
首先用DataFrame.lt
(df = pd.DataFrame({
'B':[-4,5,4,5,5,-4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,-7,1,0],
'E':[5,-3,6,9,2,4],
})
print (df)
B C D E
0 -4 7 1 5
1 5 8 3 -3
2 4 9 5 6
3 5 4 -7 9
4 5 2 1 2
5 -4 3 0 4
idx = df.index[df.lt(0).any(axis=1)]
print (idx)
Int64Index([0, 1, 3, 5], dtype='int64')
)比较所有值:
<
然后通过DataFrame.any
每行检查至少一个print (df.lt(0))
B C D E
0 True False False False
1 False False False True
2 False False False False
3 False False True False
4 False False False False
5 True False False False
值:
True
答案 1 :(得分:1)
您可以计算逐行最小值,并检查它是否小于0:
res = df.index[df.min(1) < 0]
# data from @jezrael
# Int64Index([0, 1, 3, 5], dtype='int64')