如何在数据框中获取具有特定条件的索引列表?

时间:2018-10-04 11:25:56

标签: python pandas

例如,我的数据框始终都带有非负值,但是缺失值已被编码为负值。我想获取所有这些索引。

2 个答案:

答案 0 :(得分:1)

boolean indexingwww.title.org/quiz一起使用:

df.index

说明

首先用DataFrame.ltdf = 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') )比较所有值:

(类似的功能是gtlegeneeq

<

然后通过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')