执行逻辑运算后查找python数据帧的整数索引

时间:2014-07-02 10:42:27

标签: python numpy pandas scipy

我有两个整数' high'和' low'(整数值,我的整个数据集都是数字,包含int和float值列。)和一个名为' data'的数据框。我想找出符合以下条件的行的整数索引

条件

  1. 如果数据框中的所有列都偏离了高位和低位,则删除整行。
  2. 我是如何检查每一列并找到相交的值,但找不到合适的方式,请帮助。

    数据读取中的列数可能会有所不同,因此我的代码应该是动态的。 我的代码:

    li = {}
    variables = list(data.columns.values)   
    for x in variables :
        li[x] = []
    le = len(variables)
    
    for x in range(0,le):
        li[(variables[x])].append( data[~(data[(variables[x])]>credentials[(variables[x])]['low']) & (data[(variables[x])]<credentials[(variables[x])]['high']) ].index)
    
    vals = li.values()
    uniq  = set([vals[0]]) # this line shows error.
    
    for lst in vals[1:]:
         uniq.intersection_update(lst)
    
    result_rows  = list (uniq)
    
    data.drop(data.index[result_rows])
    

    我试图通过选择 data!= deviating 的索引来实现这个条件 但获得整数索引似乎是个问题。无法在网上找到任何正确的答案。

    我的&#39; li&#39; dict看起来像这样

    {u'Combed': [Int64Index([148, 159], dtype='int64')],
     u'OE': [Int64Index([], dtype='int64')],
     u'P': [Int64Index([], dtype='int64')],
     u'PCH': [Int64Index([126, 127, 128, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 141, 142, 143, 144, 145], dtype='int64')],
     u'PV': [Int64Index([32, 34, 35, 36, 37, 81, 85], dtype='int64')],
     u'V': [Int64Index([], dtype='int64')]}
    

0 个答案:

没有答案