如何处理除列表的特定元素之外的所有元素

时间:2018-01-16 04:22:44

标签: python pandas

我有一个id列表,我正在尝试使用数据帧对象上的eq函数对列表中的特定元素进行一些处理。你能告诉我怎么做吗?

ids = list(set(df['user_id']))
for k in ids:
    #processing = df.user_id.eq(ids-{k}????)

3 个答案:

答案 0 :(得分:1)

需要注意的一点是,您不希望破坏性地修改ID列表,因为您循环遍历它以删除当前元素。因此,我们可以这样做的一种方法是遍历索引,并且对于每个索引i,创建一个新的拼接在一起的列表,其中包含除索引i之外的ids中的所有元素。我会这样做:

{ "date" : ISODate("2018-01-01T00:00:00Z"), "count" : 3 }
{ "date" : ISODate("2018-01-02T00:00:00Z"), "count" : 0 }
{ "date" : ISODate("2018-01-03T00:00:00Z"), "count" : 0 }
{ "date" : ISODate("2018-01-04T00:00:00Z"), "count" : 5 }
{ "date" : ISODate("2018-01-05T00:00:00Z"), "count" : 0 }
> 
祝你好运!

答案 1 :(得分:1)

您可以在for循环中设置if语句,其中target_id is您不需要处理的ID

ids = list(set(df['user_id']))
for k in ids:
    if k != target_id:
        #processing code goes here 

答案 2 :(得分:1)

  

使用关键字continue

在循环中,只要调用关键字continue,就会使循环迭代它,使下面的代码保持未处理状态。

ids = list(set(df['user_id']))
for k in ids:
    if k == 'the_element_you_dont_want':
        continue #Skips the code below when its called 
    #Other code code block
    #processing = df.user_id.eq(ids-{k}????)