我有一个数据集,我根据某一列将其分成了多个部分。因此:
track = [0,0]
last = -1
def countthem(val):
global last
if val != last:
track[val] += 1
last = val
return last and track[last]
df['segID'] = df['cols1'].apply(countthem)
我的这部分代码有效,但是在另一列中,如果值等于它之前的值,代码返回“True”,如果不相等,则返回“False”。我能够获得整个数据集的“错误”值的总数,但我试图获得每个段的“错误”值的总数。
我的代码:
df['cols2'] = df['cols1'].diff().eq(0).replace({False : 0, True : 1})
counter_obj = Counter(df['cols2'])
false_count = counter_obj[False]
seg = df.groupby('segID')[cols2 , false_count].sum()
print(seg)