添加依赖于其他列的列

时间:2019-08-06 19:49:19

标签: python pandas pandas-groupby

我有一个如下所示的Pandas数据框:

touch_id      sequence_id      timestamp_event     x      y
-----------------------------------------------------------
1             1                500                 20     20
1             2                600                 40     40
1             2                700                 30     33
2             1                880                 33     0
2             1                900                 22     22
3             1                910                 1      1
3             1                920                 10     15
3             2                950                 15     15

在此数据框上,我应用以下内容:

df= df_touch.groupby(["touch_id", "sequence_id"]).agg({
    'timestamp_event': 'mean',
    'x': 'mean',
    'y': 'mean',
}).reset_index()


touch_id      sequence_id      timestamp_event     x      y
-----------------------------------------------------------
1             1                500                 20     20
1             2                650                 35     36.5
2             1                890                 27.5   11
3             1                915                 5.5    8
3             2                950                 15     15

现在,我想增加一列multi_seq,当对于同一touch_id存在多个不同的sequence_id时,该列为true。这意味着结果表应该是

touch_id      sequence_id      timestamp_event     x      y        multi_seq
----------------------------------------------------------------------------
1             1                500                 20     20       True
1             2                650                 35     36.5     True
2             1                890                 27.5   11       False
3             1                915                 5.5    8        True
3             2                950                 15     15       True

如何创建此附加列multi_seq

1 个答案:

答案 0 :(得分:1)

IIUC,transform + nunique

df['multi_seq'] = df.groupby('touch_id').sequence_id.transform('nunique') > 1

0     True
1     True
2    False
3     True
4     True
Name: sequence_id, dtype: bool