我有一个id列表,我正在尝试使用数据帧对象上的eq函数对列表中的特定元素进行一些处理。你能告诉我怎么做吗?
ids = list(set(df['user_id']))
for k in ids:
#processing = df.user_id.eq(ids-{k}????)
答案 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}????)