我想得到每个段的“错误”计数

问题描述 投票:0回答:0

我有一个数据集,我根据某一列将其分成了多个部分。因此:

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)
python group-by counter
© www.soinside.com 2019 - 2024. All rights reserved.